9

使用 JavaFX Scene Builder 时遇到以下问题...

鉴于:

一个文件 fxml,包含描述 Anchor Pane(由 Scene Builder 形成的 fxml);
对于 Anchor Pane,未指定控制器类。
使用 FXMLLoader 将此 fxml 加载到 Java 应用程序中。

需要:

下载锚窗格后,将值设置为控制器类。
有必要使用不同的处理程序加载相同的 fxml。

问题:有可能吗,如果有的话 - 如何实施?

4

1 回答 1

18

加载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();
于 2013-01-16T14:44:01.970 回答