This question already has answers here:
Accessing FXML controller class
(4个答案)
3年前关闭。
我有以下代码:
在fxml文件中,有一个对 Controller 类的引用。如何获得 Controller 对象?
fxml:
有关更多信息,请参见:
Passing Parameters JavaFX FXML
(4个答案)
3年前关闭。
我有以下代码:
Parent parent = FXMLLoader.load(Main.class.getResource("JanelaPrincipal.fxml"));
在fxml文件中,有一个对 Controller 类的引用。如何获得 Controller 对象?
fxml:
<AnchorPane id="AnchorPane" fx:id="root"
prefHeight="768.0" prefWidth="1024.0" xmlns:fx="http://javafx.com/fxml/1"
xmlns="http://javafx.com/javafx/2.2"
fx:controller="br.meuspila.javafx.JanelaPrincipalController">
...
最佳答案
实例化FXMLLoader并使用实例加载方法,而不是类静态加载方法。然后,您可以从加载程序实例中检索 Controller 实例。
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
"customerDialog.fxml"
)
);
Pane pane = (Pane) loader.load();
CustomerDialogController controller =
loader.<CustomerDialogController>getController();
controller.initData(customer);
有关更多信息,请参见:
关于java - JavaFX-如何获取FXML Controller ? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25828561/
10-13 01:30