JavaFX SceneBuilder ImageView不工作

问题描述:

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

我把图像放在“img/placeholder.png”里面,然后直接放到我的根目录下。无论我放在哪里,它都不起作用。

我gui.fxml文件的路径:

/placeholder.png 

任何人可以帮助我,请:

/src/gui/gui.fxml 

我的映像文件的路径?

+1

您可以在项目中添加FXML的位置和图像。请添加在fxml中指定的图像路径 – ItachiUchiha 2015-04-01 17:58:20

+0

添加它。希望你能帮我! – beeef 2015-04-01 18:02:02

+0

图像是放在项目的根目录下,而不是在源文件夹内? – ItachiUchiha 2015-04-01 18:08:08

图像网址中应该有@符号。将图像文件放在同一个包或不同包中的项目文件夹内。

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

在某些特定情况下的另一个解决方案(Maven的相关) 鉴于/src/main/resources/foo/gui.fxml/src/main/resources/foo/img/foo.png,如果你创建SceneBuilder的形象图,并设置图像foo.png,读取网址@img/foo.png。不幸的是,图像没有显示在应用程序中。如果您将图像url更改为@/foo/img/foo.png,那么图像将不会再显示在SceneBuilder中,但会显示在应用程序中。

SceneBuilder 8.2.0,JDK 1.8,IntellJ IDEA 2016.1

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

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

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