繁体   English   中英

JavaFX getResource未加载FXML

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM