JavaFX 8:FXML的重用

鉴于我有一个FXML表示创建数据记录的表单。如果我仅将此FXML用于CreateRecordController,我可以直接在FXML中绑定控制器,并使用fx:id将控件绑定到此控制器。JavaFX 8:FXML的重用

但是,如果我想重复使用此FXML作为EditRecordController,我该怎么办?我无法在FXML中绑定两个控制器。有没有办法在FXML加载器中执行此绑定?

回答:

在加载fxml之前,您可以将控制器实例传递给FXMLLoader。这就要求fx:controller属性是从FXML文件缺失:

Object controller = ... // create an instance of the desired controller class here 

FXMLLoader loader = new FXMLLoader(getClass().getResource("/some/path/myfxml.fxml"));

loader.setController(controller);

Node root = loader.load();

注:绑定是错误的术语在这里,因为你不分配控制器任何JavaFX的财产。

以上是 JavaFX 8:FXML的重用 的全部内容, 来源链接: utcz.com/qa/266581.html

回到顶部