放入包中时无法加载 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"));
我在 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"));