JavaFX - 如何获得FXML控制器? [英] JavaFX - How to get FXML Controller?
本文介绍了JavaFX - 如何获得FXML控制器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码:
Parent parent = FXMLLoader.load(Main.class.getResource("JanelaPrincipal.fxml"));
在fxml文件中有一个对控制器类的引用。如何获取控制器对象?
in the fxml file there is a reference to the controller class. How can I get the controller object?
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和使用实例加载方法而不是类静态加载方法。然后,您可以从加载器实例中检索控制器实例。
Instantiate an FXMLLoader and use an instance load method rather than a class static load method. You can then retrieve the controller instance from the loader instance.
FXMLLoader loader = new FXMLLoader(
getClass().getResource(
"customerDialog.fxml"
)
);
Pane pane = (Pane) loader.load();
CustomerDialogController controller =
loader.<CustomerDialogController>getController();
controller.initData(customer);
欲了解更多信息,请参阅:
For more info see:
- Passing Parameters JavaFX FXML
这篇关于JavaFX - 如何获得FXML控制器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文