具有多个不同控制器的JavaFX 1 FXML文件?

Mat*_*att 7 controller javafx fxml

我的应用程序中有两个不同的阶段,即使用相同FXML文件的帮助屏幕.而不是创建2个FXML文件,我想只使用一个,并有两个控制器调用相同的fxml.

唯一的问题是Controller是在FXML文件中分配的.那么,有没有办法在Controller类本身中用代码更改分配的控制器?

我真的想避免重复FXML文件只是为了更改每个文件中的Controller.提前致谢.


Ott*_*ime 7

您可以fx:controller=""FXML文件中删除分配,并FXMLLoader在加载期间通过分配控制器.

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Your.fxml"));
fxmlLoader.setController(this);

try
{
    fxmlLoader.load();
}
catch (IOException exception)
{
    throw new RuntimeException(exception);
}
Run Code Online (Sandbox Code Playgroud)

查看有关自定义组件的FXML简介部分.