我有一个使用Maven的JavaFX程序,带有标准的maven文件树:
如何在layout.fxml中引用logo.png,假设布局是通过调用
来膨胀的Parent root = FXMLLoader.load(getClass().getResource("/fxml/layout.fxml"));
MainApp
中的。
我试图使用
这样做<image>
<Image url="@/graphics/logo.png" />
</image>
并在该文件路径上尝试了很多变体(包含和不包含@
),但继续抛出
java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.IllegalArgumentException: URL must not be empty
在创建网址的行
答案 0 :(得分:2)
您正在尝试使用名称“backButton.png”找到图像资源,而它应该是“logo.png”。
如果问题仍然存在,请尝试
<Image url="@../graphics/logo.png" />
位置解析运算符(由“@”前缀表示 attribute value)用于指定属性值 被视为相对的位置当前文件而不是 简单的字符串。