2014-06-08 58 views
0

我有一個netbeans java GUI項目。它包含Java文件和圖像文件夾。我的項目中最重要的部分是通過單擊按鈕顯示圖像,讓我們說它是NEXT按鈕。當我點擊下一步按鈕時,圖像將從IMG文件夾中逐一顯示。我把圖像中的標籤,就像這樣:圖像不顯示在jar文件中

lblImage.setIcon(new ImageIcon(getClass().getResource("../IMG/"+ namaGambar[gambarPos]))); 

我運行程序,到目前爲止,它的工作原理是我想要的。

然後,我需要創建項目到一個jar文件。我跟着Export JAR with Netbeansthis創建了我的項目的jar文件,最後我在./dist/目錄下找到了myProject.jar文件。

當我運行myProject.jar時,發現有錯誤。當我點擊NEXT按鈕時,圖像不會像我在netbeans中試過的那樣顯示。我混淆了,我在lblImage.setIcon(new ImageIcon(getClass().getResource("../IMG/"+ namaGambar[gambarPos]))); 中做錯了什麼,或者這裏有什麼問題?

我該如何解決這個問題?

+0

請說明您的圖像保存的位置。他們是否被添加到jar文件? – fabian

+0

提取jar文件並驗證圖像文件是否在正確的位置。 –

回答

1

您使用"/" + zip entry name of the data從罐子中獲取資源。

假設你的jar文件看起來是這樣的:

xyz.jar 
    |------IMG 
    |  |-------picture1.png 
    |  |-------picture2.gif 
    |  |-------picture3.jpeg 
    .  . 
    .  . 
    . 
    |------org 
    .  |-------example 
    .  .   |---------MyClass.class 
    .  .   . 
    .  . 
    . 

你必須使用

"/IMG/"+ namaGambar[gambarPos] 

作爲參數Class.getResource


NetBeans的運行從文件夾build/classes而不是從jar文件的程序。這解釋了不同的行爲。