为什么我的图标处理代码会抛出NullPointerException?

Joh*_*nna 4 java user-interface swing awt nullpointerexception

我为我的按钮添加了一个图像,但是当我运行该帧时,会抛出这个异常.为什么?请帮助我.

init:

deps-jar:
compile-single:
run-single:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
        at ClientGUI.IdAndPasswordFrame.initComponents(IdAndPasswordFrame.java:91)
        at ClientGUI.IdAndPasswordFrame.<init>(IdAndPasswordFrame.java:22)
        at ClientGUI.IdAndPasswordFrame$4.run(IdAndPasswordFrame.java:200)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
BUILD SUCCESSFUL (total time: 1 second)
Run Code Online (Sandbox Code Playgroud)

第138行:

public ImageIcon (URL location) {
    this(location, location.toExternalForm());
}
Run Code Online (Sandbox Code Playgroud)

line91:

 jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/yahoo_1.gif"))); // NOI18N
Run Code Online (Sandbox Code Playgroud)

我使用这个糟糕的检查(Peter Lang推荐),它是:System.out.println(getClass().getResource("/ Images/yahoo_1.gif")); 它返回null,为什么?请帮我.

Pet*_*ang 7

这意味着,getClass().getResource("/Images/yahoo_1.gif")返回null.

JavaDoc声明如果发生这种情况

无法找到资源或调用者没有足够的权限来获取资源.

  1. 检查是否getResource真的返回null:
    System.out.println(getClass().getResource("/Images/yahoo_1.gif"));

  2. 确保您的路径正确并且它在您的类路径中.

编辑:

我刚刚尝试使用NetBeans.我创建了以下结构

Source Packages
  Images
    yahoo_1.gif
Run Code Online (Sandbox Code Playgroud)

你的代码工作正常.这是你的结构吗?

尝试右键单击您的应用程序并选择Clean and Build.