我正在调用一个方法来通过将一些参数传递给该窗口的特定内部方法来加载窗口,但我遇到了以下异常:
GRAVE: null
javafx.fxml.LoadException: Controller value already specified.
unknown path:12
这是我的方法
public void openDef(String sys, String comp, String code) throws Exception {
Stage defStage = new Stage();
FXMLLoader loader = new FXMLLoader();
DefTableController cont = new DefTableController();//calling class controller
loader.setController(cont);
Parent frame = loader.load(getClass().getResource("defTable.fxml").openStream());
cont.getSysChoice(sys, comp, code);//call the method by passing parameters
Scene sceneDef = new Scene(frame);
defStage.setTitle("Défaillance du " + comp);
defStage.setScene(sceneDef);
defStage.show();
}
我不明白为什么它认为控制器已经设置?以及如何解决这个问题?
谢谢
从 FXML 文件中删除 fx:controller 属性。该属性是 FXMLLoader 创建新控制器的指令:因为您已经通过调用 setController 设置了一个控制器,所以这是矛盾的。
JavaFX 错误:控制器值已指定
这个人回答了^支持他!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)