gpt4 book ai didi

JavaFX - 如何获得 FXML Controller ?

转载 作者:行者123 更新时间:2023-12-03 18:32:54 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Accessing FXML controller class

(4 个回答)


4年前关闭。




我有以下代码:

Parent parent = FXMLLoader.load(Main.class.getResource("JanelaPrincipal.fxml"));

在 fxml 文件中有对 Controller 类的引用。如何获取 Controller 对象?

文件:
<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);

有关更多信息,请参阅:
  • Passing Parameters JavaFX FXML
  • 关于JavaFX - 如何获得 FXML Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828561/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com