关于java:JavaFX SceneBuilder ImageView无法正常工作

JavaFX SceneBuilder ImageView not working

我需要使用SceneBuilder创建一个GUI。我在界面上添加了ImageView并正确设置了图像的路径。该图像显示在SceneBuilder内部,但是当我运行我的应用程序时,该图像不存在。

我将图像放在" img / placeholder.png"中,然后直接放入根目录中。不管放在哪里,都行不通。

我的gui.fxml文件的路径:

1
/src/gui/gui.fxml

我的图像文件的路径:

1
/placeholder.png

有人可以帮我吗?


对于您的问题,有一个更简单的解决方案,而无需添加或删除任何代码。

一旦在Scene Builder中创建了ImageView控件并从计算机中选择了图像,请选择椭圆按钮旁边的"齿轮"图标,然后选择"切换到绝对路径"。

当您运行代码时,图像将自动出现。


在某些特定情况下的另一种解决方案(与Maven有关)
给定/src/main/resources/foo/gui.fxml/src/main/resources/foo/img/foo.png,如果在SceneBuilder中创建图像视图并将图像设置为foo.png,则URL读取@img/foo.png。不幸的是,该图像未在应用程序中显示。如果将图像URL更改为@/foo/img/foo.png,则该图像将不再在SceneBuilder中显示,但会在应用程序中显示。

SceneBuilder 8.2.0,JDK 1.8,IntellJ IDEA 2016.1


图像URL中应有@,如下所示。将图像文件放在相同文件夹或不同文件夹中的项目文件夹中。

1
 <Image url="@../image/profile_pic.png" />

只需尝试刷新Eclipse的System Explorer。我用这种方法解决了。


这是因为您尚未在程序中添加jfoenix jar。
将jfoenix jar添加到您的项目中