当前位置:  开发笔记 > 编程语言 > 正文

JavaFX - 如何获取控制器对象的实例

如何解决《JavaFX-如何获取控制器对象的实例》经验,为你挑选了1个好方法。

如何获取对控制器类的引用?

这是我的代码片段.

Parent root = FXMLLoader.load(getClass().getResource("my.fxml"));
stage.setScene(new Scene(root, 500, 500));
MyController c = stage.getControllerInstance(); <-- HOW???
c.setATextValue("Hello world"); //Set initial value
stage.show();

Controller类在FXX中的fx:controller属性中指定.实例将在后台自动创建.我需要访问该实例才能在表单中设置初始值.

我知道我可以在XML中设置初始值,但我需要在运行时设置它们.



1> James_D..:

不要使用静态FXMLLoader.load(...)方法.而是创建一个FXMLLoader实例并调用load()实例.然后你可以打电话getController():

FXMLLoader loader = new FXMLLoader(getClass().getResource("my.fxml"));
Parent root = loader.load();
MyController c = loader.getController();

stage.setScene(new Scene(root, 500, 500));

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有