使用JavaFX时,Scene Builder遇到以下问题......
假设:
文件fxml,包含描述Anchor Pane(由场景构建器构成的fxml);
对于Anchor窗格未指定控制器类
这个fxml使用FXMLLoader加载到Java应用程序中。
需要:
下载Anchor Pane后,将值设置为Controller Class 有必要使用不同的处理程序加载相同的fxml。
问题:是否有可能,如果是的话 - 如何实施?
答案 0 :(得分:12)
也可以通过Scene Builder设置加载FXML文件的控制器类。但是你想在应用程序的加载时设置它。要实现这一点,您应该在调用load()方法之前设置FXMLLoader的控制器:
AnchorPane rootPane;
MyController controller = new MyController();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("my.fxml"));
fxmlLoader.setRoot(rootPane);
fxmlLoader.setController(controller);
fxmlLoader.load();