相对URL在javafx中不起作用

时间:2017-08-09 08:25:43

标签: java url javafx

我想在Label上放一个图像,代码是:

java.lang.IllegalArgumentException: Invalid URL or resource not found.

但它不断抛出file://headPortrait.png

我已尝试file://E:/eclipse/ClassSchedule/headPortrait.png,{{1}}(绝对网址)。这次编译器没有抛出任何异常,但是图像仍然没有出现,应用程序运行得很慢。

在我尝试将图像添加到标签之前,我的所有代码都运行良好。

1 个答案:

答案 0 :(得分:-1)

将ImageView放入标签并不是一件好事。我建议您直接将ImageView添加到场景中。 要在类路径中加载Image,最好的方法是使用ResourceStream,

this.getClass().getResourceAsStream("/assets/headPortrait.png")

例如。在这种情况下,您的图像必须位于名为assets的文件夹中。 您的整个代码可能如下所示:

ImageView imageView = new ImageView(new Image(this.getClass().getResourceAsStream("/assets/headPortrait.png"), 50, 50, false, true));

我建议你将Image构造函数的最后一个布尔标志设置为true,因为它会提高图像的质量。