7
我的应用程序中有两个不同的阶段,它们是使用相同FXML文件的帮助屏幕。我不想创建2个FXML文件,而只想使用一个,并有两个调用相同fxml的控制器。带有多个不同控制器的JavaFX 1 FXML文件?
唯一的问题是,该控制器在FXML文件进行分配。那么,有没有办法使用Controller类中的代码更改分配的控制器?
我真的想避免重复的FXML文件只是为了改变在每个控制器。提前致谢。
我的应用程序中有两个不同的阶段,它们是使用相同FXML文件的帮助屏幕。我不想创建2个FXML文件,而只想使用一个,并有两个调用相同fxml的控制器。带有多个不同控制器的JavaFX 1 FXML文件?
唯一的问题是,该控制器在FXML文件进行分配。那么,有没有办法使用Controller类中的代码更改分配的控制器?
我真的想避免重复的FXML文件只是为了改变在每个控制器。提前致谢。
您可以删除从FXML
文件fx:controller=""
分配和负载分配过程中通过FXMLLoader
控制器。
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Your.fxml"));
fxmlLoader.setController(this);
try
{
fxmlLoader.load();
}
catch (IOException exception)
{
throw new RuntimeException(exception);
}
使用这种方法阻止您使用'@ FXML'标签。你必须手动设置它们,这在嵌套视图时可能会令人满意。 – Kiril