我有一个混合了 Swing(旧版)和 JavaFX 组件的应用程序。在我尝试将 Preloader 插入到组合中之前它工作正常,现在我所有使用 fxml 文件和 FXMLLoader 的 JavaFX 组件都不起作用,因为只要new FXMLLoader()(带或不带参数)就会抛出 NPE,或者FXMLLoader.load(),被调用。
我正在使用 64 位 Java 7u67。
堆栈跟踪显示:
java.lang.NullPointerException at javafx.fxml.JavaFXBuilderFactory.(JavaFXBuilderFactory.java:85) 在 javafx.fxml.JavaFXBuilderFactory.(JavaFXBuilderFactory.java:53) 在 javafx.fxml.FXMLLoader.load(FXMLLoader.java:2782) 在 javafx .fxml.FXMLLoader.load(FXMLLoader.java:2771)
在插入 PreLoader 之前,初始化类会完成其工作,然后调用实际应用程序的 main() 方法。在 Preloader 中基本上是一样的,应用程序的 main() 方法在 Preloader 的 start() 方法下被调用。
我很困惑是什么原因。有任何想法吗?