[英]JavaFX getResource not loading FXML
我正在尝试使用以下代码将FXML文件加载到JavaFX控制器中:
loader.setLocation(BaseController.class.getResource("/baseLayout.fxml"));
baseLayout = loader.load();
但是我却得到了这个异常:
java.lang.IllegalStateException: Location is not set.
问题是getResource
无法正确加载FXML,因此setLocation
接收null
作为参数,并且我得到运行loader.load()
的异常。
我在附近的一些答案中看到的是问题可能出在getResource中的路径错误。 但是,据我所知,“ / baseLayout.fxml”应指向资源文件夹内的相应fxml文件。
这是我的项目文件树:
- 项目/
- src /
- 主要/
- Java /
- 资源/
- baseLayout.fxml
它不应该工作吗? 我实际上工作得很好,但突然之间就不行了。 我不知道该怎么办
您可以尝试像这样加载fxml
loader.setLocation(BaseController.class.getResource("/resources/baseLayout.fxml"));
要么
loader.setLocation(BaseController.class.getResource("../resources/baseLayout.fxml"));
但是在此之前,如@James_D所提到的,请检查天气,结果jar包含资源文件夹,即天气是否存在于构建中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.