Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在FXML中引用类资源_Java_Maven_Javafx - Fatal编程技术网

Java 在FXML中引用类资源

Java 在FXML中引用类资源,java,maven,javafx,Java,Maven,Javafx,我有一个使用Maven的JavaFX程序,它有一个标准的Maven文件树: 假设通过调用layout.fxml使布局膨胀,如何从layout.fxml中引用logo.png Parent root = FXMLLoader.load(getClass().getResource("/fxml/layout.fxml")); 在MainApp中 我一直在尝试使用 <image> <Image url="@/graphics/logo.png" /> </image

我有一个使用Maven的JavaFX程序,它有一个标准的Maven文件树:

假设通过调用layout.fxml使布局膨胀,如何从layout.fxml中引用logo.png

Parent root = FXMLLoader.load(getClass().getResource("/fxml/layout.fxml"));
MainApp

我一直在尝试使用

<image>
<Image url="@/graphics/logo.png" />
</image>

在创建URL的那一行

您试图找到名为“backButton.png”的图像资源,而它应该是“logo.png”

如果问题仍然存在,请尝试以下操作:

<Image url="@../graphics/logo.png" />

自:

位置解析运算符(由 属性值)用于指定属性值应为 被视为相对于当前文件的位置,而不是 简单字符串


文件名在这里只是一个输入错误,在我的程序中是正确的。然而,你的建议没有帮助。恐怕这是因为,如果
@
与fxml文件相关,
图形
无法作为子文件夹访问。它是父文件夹
resources
下fxml文件夹的同级。@drewmore,“…”表示当前位置的父文件夹,即fxml文件夹的父文件夹。所以路径“./图形”是正确的。要确认包结构,请解压缩生成的jar文件并检查文件夹以及其中提到的图像的位置。做这件事的人能解释他/她的行为的原因吗?
<Image url="@../graphics/logo.png" />