2013-03-18 45 views
1

我試圖推出其具有在程序中使用的圖像的JAR文件。但它無法找到它們,因此標籤變爲空白。我該如何解決這個問題?Jar文件沒有找到圖片目錄

我需要的所有圖像中的JAR文件夾中的同一個文件夾,進入我的代碼和編輯目錄或將不是工作?

編輯,如此獲得的圖像:

hex19.setIcon(new ImageIcon("src/hexHouse.png")); //How the images are used. 
+3

你是如何加載圖像的?圖像存儲在哪裏?存儲在文件系統上還是與Jar捆綁在一起? – MadProgrammer 2013-03-18 01:10:18

+1

請在您嘗試獲取圖像的位置顯示您的代碼。希望你不會試圖以文件的形式訪問它們,而是以資源的形式訪問它們。 – 2013-03-18 01:10:27

+0

hex19.setIcon(new ImageIcon(「src/hexHouse.png」)); //如何使用圖像。你提到使用它們作爲資源?你是什​​麼意思? – user1920076 2013-03-18 01:12:51

回答

3

你的問題是,你事實上是在試圖獲取圖像的文件,文件不PF罐子裏面存在。相反,您必須將圖像作爲資源。

BufferedImage img = ImageIO.read(getClass().getResourceAsStream("imageStreamLocation.png")); 
    ImageIcon icon = new ImageIcon(img); 
    hex19.setIcon(icon); 

的關鍵將要使用的正確的圖像流的位置。這應該是「文件」的相對路徑,但是相對於jar的類文件的位置。

+0

這很有道理!我不知道我爲什麼沒有這樣做。非常感謝你。 – user1920076 2013-03-18 01:21:38

+0

@ user1920076:你和我們所有其他人不得不絆倒這個問題。我自己和其他人都知道這個問題,因爲在第一次學習創建jar文件時,我們已經完全一樣。 – 2013-03-18 01:22:36