我的程序有以下几行,从Netbeans运行时工作正常,
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 :(得分:0)
熟悉IDE附带的调试器可能是个好主意。它将允许您逐步执行,这对于调试这样的小问题非常有用,您可能不希望变量为null。由于没有堆栈跟踪,我猜Botton_Color为空。而且,拼错了。
答案 1 :(得分:0)
我知道了,不知何故声音文件后缀是大写的,现在我把它们改成小写,它正在工作,谢谢!