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