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