这是我在两天内看到的第三个问题,这是由于人们重新初始化
@FXML由注入的字段而引起的
FXMLLoader。
关键
@FXML是您告诉
FXMLLoader,使用通过解析FXML文件创建的对象初始化该字段。然后执行时
btnBrowse = new Button();
在您的
initialize()方法中,您将创建一个新按钮,并且不再引用在解析FXML时为您创建的按钮。
因此,现在很明显
btnBrowse.getScene()它将返回
null(因为从未将按钮添加到场景中)
btnBrowse.getScene().getWindow()并将生成一个
NullPointerException。
只需从您的
initialize()方法中删除这三行即可。
请问您看到在哪里重新初始化了这些字段?如果有一些流行的资源传播了不正确的代码,则需要将其删除。



