Java 在FXML中引用类资源
我有一个使用Maven的JavaFX程序,它有一个标准的Maven文件树: 假设通过调用layout.fxml使布局膨胀,如何从layout.fxml中引用logo.pngJava 在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
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" />