FXML中可重复使用的控制器。一个控制器(稍有更改)用于多个fxml文件

时间:2017-02-03 10:16:56

标签: java model-view-controller javafx fxml

我想知道是否可以重复使用"创建它之后另一个fxml的控制器。换句话说,我可以为fxml创建一个控制器,稍微修改它,然后使用(另一个实例)它用于另一个fxml而不影响第一个fxml。否则,我在某种程度上被迫从控制器复制代码,应用更改然后使用新的代码。

1 个答案:

答案 0 :(得分:0)

我没有看到很多用例,因为在不同的FXML文件中你显然会有不同的控件,因此不清楚如何管理注入。如果你有一个用例(例如,不同的FXML文件对于相同的基本UI只有不同的布局),则有可能:

从FXML文件中删除fx:controller属性,并使用以下模式手动设置控制器:

FXMLLoader loader = new FXMLLoader(getClass().getResource("/path/to/file.fxml"));
MyConfigurableController controller = new MyConfigurableController(aParam, anotherParam);
loader.setController(controller);
Parent root = loader.load();