JavaFX 错误 : Controller value already specified

标签 javafx

我正在尝试打开一个新的表单窗口。但我想在构造函数中分配一些值。

我尝试过的代码:

fxmlLoader.setRoot(null);

fx:root (DbForm.fxml)

错误:

Controller 值已指定。 文件:/C:/Users/Admin/Documents/NetBeansProjects/SeleniumWebTest/dist/run685287776/SeleniumWebTest.jar!/seleniumwebtest/DbForm.fxml:14

try {

     DbFormController dbYapCont = new DbFormController("s", "s", "s", "s");
     FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("DbForm.fxml"));

     fxmlLoader.setController(dbYapCont);
     Pane root = (Pane) fxmlLoader.load();
     Stage stage = new Stage();
     stage.setScene(new Scene(root));
     stage.show();
     } catch (Exception e) {
                System.out.println(e.getMessage());
            }

最佳答案

从 FXML 文件中删除 fx:controller 属性。该属性是指示 FXMLLoader 创建新 Controller 的指令:因为您已经通过调用 setController 设置了一个 Controller ,所以这是矛盾的。

关于JavaFX 错误 : Controller value already specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49798301/

相关文章:

JavaFX 嵌套 GridPane 对齐

JavaFX:绑定(bind)和弱监听器

java - 来自 ListView.getItems().removeAll() 的可疑行为

JavaFX GridPane 动态添加元素

javafx - FXML:绑定(bind)到 Controller

java - 如何在 Ubuntu 上安装 JavaFx?

JavaFX 进度指示器添加神秘的额外值?

java - 是否可以将 JavaFX 的 WebView 更改为 Chrome

java - 使用javafx中的文件对话框保存矩形的背景图像

mysql - 我的表格 View 显示空白行