【发布时间】:2019-05-09 11:07:48
【问题描述】:
我的项目结构如下:
src
com.hello
RootController
resources
com.hello
root.fxml
image.png
在scenebuilder 中,我添加了一个ImageView 节点,然后将路径设置为@image.png。它在 SceneBuilder 中运行良好,但如果我在 Eclipse 中运行它,我会收到以下错误:
Caused by: java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1118)
at javafx.scene.image.Image.<init>(Image.java:693)
at com.sun.javafx.fxml.builder.JavaFXImageBuilder.build(JavaFXImageBuilder.java:47)
at com.sun.javafx.fxml.builder.JavaFXImageBuilder.build(JavaFXImageBuilder.java:37)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:763)
at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2823)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
... 11 more
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1110)
... 17 more
根据我的项目结构,如何正确指定图像路径?
【问题讨论】:
-
你使用
load(InputStream)方法加载fxml吗? -
@fabian Yeahhhhhh 一定是这样。我已经通过使用
load()而不是load(InputStream)来修复它