मैं जावाएफएक्स में नया हूं और अपने वर्तमान सेटअप को उचित एमवीसी आर्किटेक्चर बनाने के लिए संघर्ष कर रहा हूं। मैंने दृश्य बिल्डर का उपयोग करके एक यूआई पर क्लिक किया और एक नियंत्रक वर्ग नामित किया।दृश्य बिल्डर के साथ जावाएफएक्स में एमवीसी पैटर्न
स्टार्टअप:
public class Portal extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("PortalUI.fxml"));
stage.setTitle("Portal");
stage.setScene(new Scene(root));
stage.show();
}
}
और नियंत्रक वर्ग कोड के बाकी में शामिल है।
public class AccommodationPortalView implements Initializable {
@Override
public void initialize(URL url, ResourceBundle resources) {
// Work here.
}
}
मेरे प्रोफेसर ने पूछा कि मैं इस आवेदन की चिंताओं और जिम्मेदारियों को और अलग करता हूं। नियंत्रक न केवल राज्य का प्रबंधन कर रहा है और बैकएंड के साथ बात कर रहा है, बल्कि दृश्य को अद्यतन भी कर रहा है।
मेरी पहली प्रतिक्रिया नियंत्रक वर्ग को देखने और नियंत्रक और मॉडल के लिए दो अन्य वर्ग बनाने देना था।
हालांकि, मुझे इन टुकड़ों को जोड़ने के तरीके पर नुकसान हुआ है। मुझे दृश्य को तुरंत चालू करने की आवश्यकता नहीं है, इसलिए कोई दृश्य उदाहरण नहीं है कि मैं अपने नियंत्रक को पास कर सकता हूं, उदाहरण के लिए। इसके बाद, मैंने उन्हें सभी सिंगलेट बनाने की कोशिश की और बस नियंत्रक को रनटाइम पर लाने की अनुमति दी, लेकिन इससे मुझे एक त्रुटि मिलती है।
public class Portal extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("PortalUI.fxml"));
stage.setTitle("Portal");
stage.setScene(new Scene(root));
stage.show();
// Controller gets a View and Model instance in initialize();
// Error: Instantiation and Runtime Exception...
PortalController.INSTANCE.initialize();
}
}
मैं अपने वर्तमान कॉन्फ़िगरेशन का उपयोग कर एक एमवीसी पैटर्न को सही तरीके से कैसे सेट अप करूं? क्या एक अलग वास्तुकला की आवश्यकता है?
हैलो! उत्तर के लिए धन्यवाद, लिंक भी एक महान संसाधन था! मेरे पास नियंत्रक तक पहुंच है और ओह! मुझे लगता है कि मैं इसे समझता हूं। यह मेरे द्वारा उपयोग किए जाने वाले कार्यों से एक बहुत ही अलग वास्तुकला है। मेरी सहायता करने के लिये आपका बहुत धन्यवाद :) – IAE