this ट्यूटोटियल में, कस्टम घटकों को शामिल करने और कंटेनर के नियंत्रक से उनके नियंत्रकों का उपयोग करने का एक उदाहरण है।जावाएफएक्स नेस्टेड कंट्रोलर (एफएक्सएमएल <include>)
main_window_content.fxml
<VBox fx:controller="com.foo.MainController">
<fx:include fx:id="dialog" source="dialog.fxml"/>
...
</VBox>
MainController.java
public class MainController extends Controller {
@FXML private Window dialog;
@FXML private DialogController dialogController;
..
घटक केवल एक बार शामिल किया गया है, तो यह ठीक काम करता है। यदि एक ही घटक को दो बार शामिल किया गया है, तो नियंत्रकों को प्रारंभ नहीं किया जाता है। दोनों नियंत्रक शून्य हैं।
main_window_content.fxml
<VBox fx:controller="com.foo.MainController">
<fx:include fx:id="dialog1" source="dialog.fxml"/>
<fx:include fx:id="dialog2" source="dialog.fxml"/>
...
</VBox>
MainController.java
public class MainController extends Controller {
@FXML private Window dialog1;
@FXML private DialogController dialogController1;
@FXML private Window dialog2;
@FXML private DialogController dialogController2;
कोई मुझे समस्या को हल करने में मदद कर सकता है? धन्यवाद
यह मेरा एफएक्सएमएल लोडिंग कोड है। यह मुख्य आवेदन विधि में निष्पादित किया जाता है: मैं अपने कोड में त्रुटि पाई (OTN से) डैनियल को
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("main_window_content.fxml"));
stage.setTitle("FXML Welcome");
stage.setScene(new Scene(root, 300, 275));
stage.show();
}
दूसरा प्रश्न इस प्रश्न का सही समाधान है, इसे "स्वीकृत" चिह्नित किया जाना चाहिए –
@AmirArad कौन सा "दूसरा" है? – glglgl