为什么我的图标处理code抛出NullPointerException? [英] Why does my icon handling code throw a NullPointerException?

查看:343
本文介绍了为什么我的图标处理code抛出NullPointerException?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我添加图片为我的按钮,但是当我运行这个框架会抛出异常。为什么?请帮助我。

 初始化:DEPS-JAR:
编译单:
跑单:
在异常线程AWT-EventQueue的-0显示java.lang.NullPointerException
        在javax.swing.ImageIcon中的<&初始化GT;(ImageIcon.java:138)
        在ClientGUI.IdAndPasswordFrame.initComponents(IdAndPasswordFrame.java:91)
        在ClientGUI.IdAndPasswordFrame<&初始化GT;(IdAndPasswordFrame.java:22)
        在ClientGUI.IdAndPasswordFrame $ 4.run(IdAndPasswordFrame.java:200)
        在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        在java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        在java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
BUILD SUCCESSFUL(总时间:1秒)

行138:

 公开的ImageIcon(URL位置){
    这个(位置,location.toExternalForm());
}

line91:

  jButton1.setIcon(新javax.swing.ImageIcon中(的getClass()的getResource(/图片/ yahoo_1.gif))); // NOI18N

我用这个可怜的检查(彼得郎推荐)这是内容:System.out.println(的getClass()的getResource(/图片/ yahoo_1.gif));它返回null,为什么?请帮助我。


解决方案

这意味着,的getClass()。的getResource(/图片/ yahoo_1.gif)收益

<一个href=\"http://java.sun.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource%28java.lang.String%29\"相对=nofollow>的JavaDoc 指出,出现这种情况,如果


  

资源找不到或者调用方没有足够的权限来获取资源。



  1. 检查的getResource 真的返回:结果
    的System.out.println(的getClass()的getResource(/图片/ yahoo_1.gif));


  2. 请确保您的路径是正确的,它是在你的类路径中。


修改

我刚刚与NetBeans尝试。我创建了以下结构

 源代码包
  图片
    yahoo_1.gif

和您的code正常工作。这是您的结构?

尝试在你的应用程序单击鼠标右键,选择清理并生成

I have added an image for my button,but when I run that frame this exception will be thrown .why?please help me.

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)

line 138:

public ImageIcon (URL location) {
    this(location, location.toExternalForm());
}

line91:

 jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Images/yahoo_1.gif"))); // NOI18N

I use this poor checking (Peter Lang recommended)which is:System.out.println(getClass().getResource("/Images/yahoo_1.gif")); and it returns null,why? please help me.

解决方案

This means, that getClass().getResource("/Images/yahoo_1.gif") returns null.

JavaDoc states that this happens if

the resource could not be found or the invoker doesn't have adequate privileges to get the resource.

  1. Check if getResource really returns null:
    System.out.println(getClass().getResource("/Images/yahoo_1.gif"));

  2. Make sure that your path is correct and that it is in your classpath.

EDIT:

I just tried it with NetBeans. I created the following structure

Source Packages
  Images
    yahoo_1.gif

and your code worked fine. Is this your structure?

Try to right-click on your application and select Clean and Build.

这篇关于为什么我的图标处理code抛出NullPointerException?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆