我有一个菜单fxml和controller,其中包含一些可能的选项。根据选择的按钮,窗口将显示一个新列表(例如,customer按钮显示一个新场景中的客户列表)。我只是似乎无法弄清楚如何使用控制器和fxmlLoaders创建新场景。
我尝试在菜单的personButtonHandle()方法中创建CustomerController的新实例,但这会发出“忽略新实例”警告。
运行该应用程序是可行的,但是单击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);
}
}