У меня есть меню fxml и контроллер, который содержит несколько возможных вариантов. В зависимости от выбранной кнопки в окне будет показан новый список (например, кнопка клиента показывает список клиентов в новой сцене). Я просто не могу понять, как создать новую сцену с помощью контроллеров и fxmlLoaders.
Я попытался создать новый экземпляр CustomerController в методе personButtonHandle () меню, но это выдает предупреждение «игнорируется новый экземпляр».
Запуск приложения работает, но нажатие на CustomerButton вызывает «javafx.fxml.LoadException: корневое значение уже указано».
Главное меню
public Menu(DomainController dc) {
this.dc = dc;
FXMLLoader loader = new FXMLLoader(getClass().
getResource("Main.fxml"));
loader.setRoot(this);
loader.setController(this);
try {
loader.load();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}
private void handleBtnCustomers(ActionEvent event) {
CustomerController cc = new CustomerController(this.dc);
}
CustomerController
public CustomerController(DomainController dc) {
this.dc = dc;
FXMLLoader loader = new FXMLLoader(getClass().
getResource("Customers.fxml"));
loader.setRoot(this);
loader.setController(this);
try {
loader.load();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}