放入包中时无法加载 FXML

Unable to load FXML when placed in a package

我在 JavaFXApplication5 项目中得到了这种类型的文件层次结构。

我为所有的 fxml 文件制作了另一个包,所以当项目变大时,找到某些文件会更容易。

现在在 JavaFXApplication5 main class 我有一行当应用程序试图 运行.

时我肯定会导致异常(java.lang.reflect.InvocationTargetException)
AnchorPane root = (AnchorPane) FXMLLoader.load(getClass().getResource("FXMLNew.fxml"));

我确定是因为 "FXMLNew.fxml" 根是错误的。但我不知道如何在另一个包中设置它...?

或者这些类型的文件应该放在普通文件夹中?

要加载包内的 fxml,请使用 /package-name/fxml-file-name.fxml

针对您的情况:

AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("/windows/FXMLNew.fxml"));