如何在资源文件夹中引用javafx fxml文件?

j将

我正在创建一个Javafx GUI应用程序,而我的项目是一个经过Maven配置的项目。我希望能够在控制器中像这样引用我的fxml文件:

FXMLLoader.load(getClass().getResource("main.fxml"); 

我的main.fxml文件位于src / main / resources文件夹中,而我的控制器位于src / main / java文件夹中。我该怎么做?我的src / main / resources文件夹位于构建路径中,我能够从src / main / java文件夹中的类调用src / main / resources文件夹中的.properties文件。

编辑

我试图将fxml文件放在主资源文件夹的相应目录中:

在此处输入图片说明

但我仍然有一个错误。

宝石海

用法示例

FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/main.fxml"));
Parent content = loader.load(); 

位置解析度选项

  1. 将所有fxml放在src / main / resources目录中。

    loader.setLocation(getClass().getResource("/main.fxml"));
    
  2. 将所有fxml放在src / main / resources / fxml目录中。

    loader.setLocation(getClass().getResource("/fxml/main.fxml"));
    
  3. 将fxml放在相应的资源目录中;例如src / main / resources / com / mycompany / myapp。

    loader.setLocation(getClass().getResource("main.fxml")); 
    

最后一个选项假定要从中加载fxml的类在相应的Java源层次结构中位于相同的相对位置。例如,您可以从source调用最后一个load命令com/mycompany/myapp/Main.java

FXMLLoader使用建议

  1. 通过new FXMLLoader()而不是在FXMLLoader上使用静态方法实例化FXMLLoader

    • 当您想从加载器中获取值(例如实例化控制器)时,静态方法会造成混乱
  2. 在实例化的FXMLLoader上设置位置,然后调用,load()而不是使用从流中加载load(stream)

    • 在加载程序上设置基于URL的位置可以解析f​​xml和css文件中加载的相对资源。对于基于流的构造函数,相对资源无法解析。
  3. 要基于类派生位置,请使用getClass().getResource(),因为它是基于URL的,而不是getClass().getResourceAsStream()基于流的。

IDE和构建设置

确保您的IDE或构建工具将fxml文件从资源目录复制到构建输出目录。要了解有关Intellij的设置,请参阅:如何将intellij中的普通Java项目转换为JavaFx项目

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在资源文件夹中引用javafx fxml文件?

来自分类Dev

Android Studio中的素材资源文件夹?

来自分类Dev

在资源文件夹Android中读取CSV文件

来自分类Dev

如何访问不在Resources文件夹根目录中的资源文件?(Sharepoint 2010)

来自分类Dev

如何从资源文件夹中获取文件作为文件?

来自分类Dev

FXML文件中的常量

来自分类Dev

jar中的资源文件夹

来自分类Dev

如何在Spring MVC中获取资源文件夹的正确路径?

来自分类Dev

无法访问Java中的资源文件夹

来自分类Dev

如何将FileInputStream获取到资源文件夹中的文件

来自分类Dev

Java在资源文件夹中写入.txt文件

来自分类Dev

从资源文件夹JAVA获取文件夹

来自分类Dev

如何在Intellij中创建“资源”文件夹?

来自分类Dev

如何从我的组件中删除资源文件夹中的图像

来自分类Dev

Cmake中的资源文件夹

来自分类Dev

如何读取buildSrc模块资源文件夹中的属性文件?

来自分类Dev

Android Studio中的素材资源文件夹?

来自分类Dev

在资源文件夹Android中读取CSV文件

来自分类Dev

如何从资源文件夹中获取文件作为文件?

来自分类Dev

访问资源文件夹.Net 3.5中的文件

来自分类Dev

如何引用资源文件

来自分类Dev

如何在Android中创建图片文件夹资源

来自分类Dev

访问jar中的资源文件夹

来自分类Dev

如何从资源文件夹中删除Android徽标

来自分类Dev

Java:从资源文件夹内文件夹中的txt文件读取

来自分类Dev

制作jar时,图像未从资源文件夹中的javafx css中加载

来自分类Dev

如何将资源文件夹中的图像添加到字典

来自分类Dev

如何在eclipse中的源文件夹下创建文件夹?

来自分类Dev

如何在 jar/war 的资源文件夹中创建一个 png?

Related 相关文章

热门标签

归档