java.lang.NullPointerException
at javax.swing.ImageIcon.(ImageIcon.java:217)
at com.artisan.view.LoginFrm.(LoginFrm.java:67)
at com.artisan.view.LoginFrm$1.run(LoginFrm.java:46)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
错误位置代码发出来看看
空指针,127行代码值是null
这堆报错的意思就是在你源文件的一个值是null,这个值提交给了其他的方法使用,而这个方法恰巧不能接受null的值,所以抛出了一个NullPointerException异常,意思是null引用。指的是你的某个方法引用了null,但是这个方法不能使用null。
按照报错的意思,发生这个错误的地方很可能是代码的第67或46行,由以下语句得知:
at com.artisan.view.LoginFrm.(LoginFrm.java:67)
at com.artisan.view.LoginFrm$1.run(LoginFrm.java:46)
因为其他的at语句都指向了javax或java包内的文件。而这两个包内的文件是不会有错的。那为啥报错信息里有他们呢?很简单,你可能在代码中使用了这些类的方法或对象等等。所以在抛出异常时就会带上他们。
那么,应该是LoginFrm这个类中的代码出现了异常。com包不是java的自带的包。很大程度上是编辑器创建的或者人为创建的。后面有个LoginFrm$1.run类。这个类是由编译器创建的,当一个类中含有内部类时,编译器就会在生成的字节码文件中加入$符号分割类与内部类。这个run类应该是一个内部类,$符号用于分割类名与内部类,不过我倒是很好奇那个1是咋来的。按理来说编译器不会加上这个1.的
等等,稍微有点扯远了。不管怎样,LoginFrm类中一定有错误,大抵是在代码的第67行,你看看这行引用了啥,再找那行引用的变量再哪里修改过。应该就知道它为啥是null了