2015-04-01 217 views
1

我需要使用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

回答

1

圖像網址中應該有@符號。將圖像文件放在同一個包或不同包中的項目文件夾內。

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

在某些特定情況下的另一個解決方案(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

1

還有一個更簡單的解決問題的方法,而無需添加或刪除任何代碼。

在Scene Builder中創建了ImageView控件並從計算機中選擇了圖像後,選擇橢圓按鈕旁邊的「齒輪」圖標並選擇「切換到絕對路徑」。

當您運行代碼時,圖像將自動出現。