您
MainController没有零参数的构造函数。如果在根元素上
FXMLLoader遇到一个
fx:controller属性,它将尝试通过(有效)调用该属性中指定的类的零参数构造函数来创建该控制器的实例。
要解决此问题(最简单的方法),请 从FXML文件中
删除该fx:controller
属性,然后在上“手动”设置控制器
FXMLLoader。您需要创建一个
FXMLLoader实例,而不是依赖于静态
load(...)方法:
FXMLLoader loader = new FXMLLoader(getClass().getResource("main.fxml"));loader.setController(new MainController(path));Pane mainPane = loader.load();


