当前位置: 首页 > 知识库问答 >
问题:

加载位于“src”maven文件夹中的fxml文件

赵献
2023-03-14

我正在处理一个JavaFX8(maven)项目。我想在sources(而不是resources)文件夹中存储fxml文件。
当我将fxml存储到位置/src/main/resources/views/b/myfxml.fxml时,

new FXMLLoader(getClass().getResource("/views/b/MyFxml.fxml"));

有没有办法从/src/main/java/package/name/roleview.fxml位置加载我的fxml文件?

共有1个答案

鲜于德泽
2023-03-14

Java不区分资源和源。只要您的fxml文件在类路径中是可见的(适当地打包到*.jar中),您就可以以同样的方式访问它。考虑到您使用maven,这是您需要的配置:

<project>
  ...
  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.fxml</include>
        </includes>
      </resource>
      ...
    </resources>
    ...
  </build>
  ...
</project>

然后,这一行应该可以加载您的文件:

new FXMLLoader(getClass().getResource("/package/name/RoleView.fxml"));
 类似资料:
  • 我正在从事一个JavaFX8(maven)项目。我想在sources(而不是resources)文件夹中存储一个fxml文件 当我将fxml存储到location/src/main/resources/views/b/MyFxml时。fxml我使用命令加载它时没有错误, 有没有办法从/src/main/java/package/name/RoleView加载我的fxml文件。fxml位置?

  • 问题内容: 我想知道我怎么可以将文件加载从文件夹到我的close方法。到目前为止的代码: 启动时控制台错误输出: 问题答案: 如果您想从jar文件中加载文件(例如,从classpath加载),请参阅此答案以获取有关如何获取的更多选项。在下面的代码中,我没有进行任何异常处理,并删除了您的相关代码。 编辑: 似乎您在文件夹结构上做错了什么,或者您使用了错误的包/文件名。只是要清楚。目前,您似乎在一个程

  • 我是一个相当新的java程序员。我只有大约五周的经验,从零开始,如果在Scene Builder中创建的javafx fxml文件与controller类不在同一个文件夹中,我就会遇到问题,无法正确加载这些文件。 我正在使用 我试着自己研究这个问题,但我没有得到太多,这里的几个答案似乎相似,似乎没有帮助,或者我太密集和/或没有经验,弄不明白它们的意义。它们是JavaFX2.0加载带有事件处理程序的

  • 我和同学一起使用git,现在我注意到,如果我加载另一个学生的分支,它会奇怪地导入src文件夹。 有什么问题吗?

  • 我正在尝试使用Maven编写一个JavaFx8应用程序。我编写了一个简单的应用程序主类和一个fxml文件(一个不执行任何操作的根fxml文件)。 当我尝试加载fxml根文件时,出现错误“Location is not set”: 我不是JavaFx8的新手,我已经遇到过这种错误,但这次我没有发现问题。 我的类是:app.java rootLayout.fxml: 我检查了打印出getClass输出

  • 我在使用Java和FXML文件时遇到了一个问题。 现在我找了好几个小时,找不到任何解决我问题的东西,所以我最后的希望是针对我的具体情况提出问题(我知道像这个问题和其他问题,但没有一个真正帮助我在这方面。 简单说明:我有一个Eclipse Java项目,我的类(对于这个问题很重要)在包[Project Name]/src/measurements.gui中。我的FXML文件在[Project Nam