当前位置:编程学习 > JAVA >>

请问一下,这是什么错误啊?该怎么修改呢?

--------------------编程问答-------------------- Icon icon = new ImageIcon(denglu.class.getResource("/img/javalm.jpg"));//图片路径不对吧
./img/javalm.jpg 或者 写绝对路径 比如:E:/......./img/javalm.jpg --------------------编程问答-------------------- 自己看看哪一行空指针,自然就会出来答案,错误提醒多么明显! --------------------编程问答-------------------- 空指针异常是最基本的异常了吧,一看就明白了啊。 --------------------编程问答-------------------- at javax.swing.ImageIcon.<init>(ImageIcon.java:205)//这是关键 --------------------编程问答-------------------- new ImageIcon(denglu.class.getResource("/img/javalm.jpg"));//改为
new ImageIcon(denglu.class.getResourceAsStream("/img/javalm.jpg"));看看 --------------------编程问答--------------------
引用 1 楼 tj7788 的回复:
Icon icon = new ImageIcon(denglu.class.getResource("/img/javalm.jpg"));//图片路径不对吧
./img/javalm.jpg 或者 写绝对路径 比如:E:/......./img/javalm.jpg

我是把图片和CLASS一起打包成JAR文件的,让程序读取JAR包里面的图片,所以用了denglu.class.getResource。就只有这里错了,其他地方也这么用的没有错,并且这句话不改打完包能运行,并且显示也正确,就是在eclipse里面直接运行运行不了要报错。我就不知道怎么回事了。 --------------------编程问答--------------------
引用 3 楼 rumlee 的回复:
空指针异常是最基本的异常了吧,一看就明白了啊。

程序里面很多地方都这么用了,课就只有这里报错了,其他地方也这么用的没有报错,并且这句话不管他直接打完包成JAR程序能运行,并且显示也正确,就是在eclipse里面直接运行运行不了要报错。我就不知道怎么回事了。 --------------------编程问答--------------------
引用 4 楼 Acesidonu 的回复:
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)//这是关键

这里是这么写的:
  public ImageIcon(URL location, String description) {
        image = Toolkit.getDefaultToolkit().getImage(location);
        if (image == null) {
            return;
        }
        this.location = location;
        this.description = description;
        loadImage(image);
    }

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


程序里面很多地方都这么用了,课就只有这里报错了,其他地方也这么用的没有报错,并且这句话不管他直接打完包成JAR程序能运行,并且显示也正确,就是在eclipse里面直接运行运行不了要报错。我在想是不是上面的new denglu();的影响 --------------------编程问答-------------------- location没赋值?debug跟过去看看呗。 --------------------编程问答--------------------
引用 9 楼 oh_Maxy 的回复:
location没赋值?debug跟过去看看呗。

我看了一下,好像denglu.class.getResource("/img/javalm.jpg")没获取到值 --------------------编程问答--------------------
引用 2 楼 u010580980 的回复:
自己看看哪一行空指针,自然就会出来答案,错误提醒多么明显!

好像denglu.class.getResource("/img/javalm.jpg")没有获取到值,但不知道为什么他获取不到啊 --------------------编程问答--------------------
引用 5 楼 fangmingshijie 的回复:
new ImageIcon(denglu.class.getResource("/img/javalm.jpg"));//改为
new ImageIcon(denglu.class.getResourceAsStream("/img/javalm.jpg"));看看

改了还是不行哦,好像是class.getResource没有获取到值 --------------------编程问答--------------------
引用 10 楼 qingsheng1355 的回复:
Quote: 引用 9 楼 oh_Maxy 的回复:

location没赋值?debug跟过去看看呗。

我看了一下,好像denglu.class.getResource("/img/javalm.jpg")没获取到值

改成img/javalm.jpg 试试 --------------------编程问答-------------------- 谢谢各位了!我找出原因了。应该吧图片放在src目录下,不然eclipse的项目里用class.getResource读取的文件夹和img文件夹不在一个层面,img还在外面一层,所以出现返回值为null的情况。现在我把img文件夹移入eclipse的src目录下了,一切都通了~~~~谢谢各位了!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,