Java 将图标放入按钮时的错误列表(netbeans)

Java 将图标放入按钮时的错误列表(netbeans),java,netbeans,icons,Java,Netbeans,Icons,当我试图在Netbeans JFrame中的按钮上添加图标时,我会遇到这样一组巨大的错误: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(ImageIcon.java:205) at furnituremanagementsystem.menu.initComponents(menu.java:86) at furniturem

当我试图在Netbeans JFrame中的按钮上添加图标时,我会遇到这样一组巨大的错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at furnituremanagementsystem.menu.initComponents(menu.java:86)
at furnituremanagementsystem.menu.<init>(menu.java:17)
at furnituremanagementsystem.menu$12.run(menu.java:273)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
}))


如果查看错误的第一行,它会显示
NullPointerException
。这通常意味着您正试图调用空指针上的方法。错误的其余部分是错误发生时的堆栈跟踪。在这里,它看起来像是发生在ImageIcon中的第205行,这是
ImageIcon
的构造函数,看起来像这样:

public ImageIcon (URL location) {
    this(location, location.toExternalForm()); // line 205
}
据我所知,您可能正在
furnituremanagementsystem.menu.initComponents()方法中将一个空URL对象传递给此构造函数。这是在此行试图通过调用
toExternalForm()
来使用它时引发空指针异常

假设第86行是构造ImageIcon对象的那一行,它看起来像是
getResource()
没有找到给定名称的任何内容,导致它返回null。您应该尝试确定对
getResource()
的调用是返回null还是URL对象。如果它返回null,请找出它找不到该资源的原因


仅供参考:这实际上只是一个错误。它看起来很多,因为它附带了堆栈跟踪。

实际上我根本没有使用代码。当我通过netbeans时,它是自动生成的,但我根本没有做任何类型的编码。我只是使用netbeans中的选项来为我做这件事。起初它起作用了。但是第二个图标按钮会带来这些错误。仅仅因为netbeans为您生成了它并不意味着它是100%正确的。
 jPanel1.add(jButton5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 170, 230, -1));
public ImageIcon (URL location) {
    this(location, location.toExternalForm()); // line 205
}