2009-11-12 112 views
0

我的程序有以下行,從NetBeans中運行時正常工作,Jar文件資源不可用?

JButton的Button_1 =的新的JButton(新的ImageIcon(Phone_Dialer.class.getResource( 「Dir_Icons /」 + 「Key_1」 + Botton_Color + 「GIF」) ));

但是,當我從生成的Jar文件運行它時,此行導致「java.lang.NullPointerException」錯誤,爲什麼?

的dir是這樣的:

C:\Phone_Dialer\src\Phone_Dialer.java 
C:\Phone_Dialer\src\Dir_Icons\Key_1_Silver.gif 
C:\Phone_Dialer\dist\Phone_Dialer.jar 

================================= ================================================== ======== 這絕對不是「Botton_Color」問題,它是這樣一個字符串:「Silver」或「Pink」,所以如果我將上面的行更改爲「Dir_Icons\Key_1_Silver.gif」,它仍然可以在IDE雖然無法從一個可執行的Jar文件運行,但問題似乎是:爲什麼在jar項目之後,它找不到資源。 Jar文件由Netbeans生成,並且可執行。

+0

你能否確認文件「Key_1_Silver.gif」相對於「Phone_Dialer.java」的位置? – Rob 2009-11-12 19:24:29

回答

0

我知道了,不知何故,聲音文件後綴是大寫的,現在我將它們改爲小寫,它的工作原理,謝謝!

0

熟悉IDE附帶的調試器可能是個好主意。它可以讓你逐步完成,這對調試這樣的小問題非常有幫助,你可能不希望變量爲空。由於沒有堆棧跟蹤,我猜Botton_Color爲空。另外,它拼寫錯誤。