我对访问javafx控制器类有一些疑问。我已经看到,我们一直使用getController()
类的FXMLLoader
方法来访问控制器类。为什么我们不使用new
运算符并访问它来使用构造函数调用。即喜欢
TestController mc = new TestController();
答案 0 :(得分:3)
关于构造函数调用的使用,我会想到一些事情。您应该自己加载FXML文件,解析它并构建其中定义的节点图,然后,执行以下步骤:
@FXML
带注释的字段必须绑定在节点图和控制器类initialize()
方法FXMLLoader
load()
期间TestController mc = new TestController();
FXMLLoader loader = new FXMLLoader();
loader.setController(mc);
loader.load();
所做的更多工作人员。可以使用FXMLLoader的源代码探索这些员工 话虽如此,您仍然可以自己调用构造函数,但在调用FXMLLoader的加载方法之前将其设置为FXMLLoader:
{{1}}
这样所有上面提到的“脏作品”都将由FXMLLoader处理,然后“别担心,快乐”:)。