JavaFX错误:已指定控制器值

时间:2017-02-04 00:33:17

标签: javafx

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

我试过的代码:

fxmlLoader.setRoot(null);

fx:root(DbForm.fxml)

错误:

已指定控制器值。 文件:/ 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());
            }

1 个答案:

答案 0 :(得分:5)

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