2016-11-24 195 views
1

我基本上想要一個應用程序圖標(左上角的那個圖標),但每次將我的項目導出到* .jar在日食中,我失去了所有的圖像。打開* .jar並在那裏放置背景圖像(用CSS定義)很容易,但我絕對不能使應用程序圖標工作。JavaFX,在eclipse中導出爲* .JAR後無法顯示應用程序圖標

下面是創建這個圖標行:

primaryStage.getIcons().add(new Image("file:icon.png")); 

Here is what I mean by the app icon

對不起,我英文不好:C

+0

位於項目中的圖像圖標在哪裏? –

+0

當它工作時它是在默認(?)文件夾,一個持有倉,src等 – SitaNVGS

+0

你試圖把圖像放在與.jar相同的文件夾,當你運行它? –

回答

0

您正在從工作目錄加載圖像,而不是jar本身。這就是爲什麼它在開發中,而不是在生產中。如果將圖像移動到jar所在的文件夾中,它應該可以正常工作,但我假設您想要將圖像包含在jar文件中。

將圖像移動到其中一個包(任何,只要它與jar捆綁在一起)。然後你需要訪問該圖像,使用ClassLoader.getResourceAsStream(String)。它看起來像你使用的是javafx,所以你可以用它來獲取你的圖像:primaryStage.getIcons().add(new Image(ClassLoader.getSystemResourceAsStream("the/path/to/your/image.png"));

+0

很棒!謝謝你的回答! – SitaNVGS

0

與罐子裏的文件工作,需要使用ZipInputStreamJarInputStream

+0

這不一定是正確的。您可以使用類加載器從工作jar文件中加載資源。如果您想從另一個zip/jar文件加載圖像,則需要zip/jar流。 –