请问一下,这是什么错误啊?该怎么修改呢?
--------------------编程问答-------------------- 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"));看看 --------------------编程问答--------------------
我是把图片和CLASS一起打包成JAR文件的,让程序读取JAR包里面的图片,所以用了denglu.class.getResource。就只有这里错了,其他地方也这么用的没有错,并且这句话不改打完包能运行,并且显示也正确,就是在eclipse里面直接运行运行不了要报错。我就不知道怎么回事了。 --------------------编程问答--------------------
程序里面很多地方都这么用了,课就只有这里报错了,其他地方也这么用的没有报错,并且这句话不管他直接打完包成JAR程序能运行,并且显示也正确,就是在eclipse里面直接运行运行不了要报错。我就不知道怎么回事了。 --------------------编程问答--------------------
这里是这么写的:
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跟过去看看呗。 --------------------编程问答--------------------
我看了一下,好像denglu.class.getResource("/img/javalm.jpg")没获取到值 --------------------编程问答--------------------
好像denglu.class.getResource("/img/javalm.jpg")没有获取到值,但不知道为什么他获取不到啊 --------------------编程问答--------------------
改了还是不行哦,好像是class.getResource没有获取到值 --------------------编程问答--------------------
改成img/javalm.jpg 试试 --------------------编程问答-------------------- 谢谢各位了!我找出原因了。应该吧图片放在src目录下,不然eclipse的项目里用class.getResource读取的文件夹和img文件夹不在一个层面,img还在外面一层,所以出现返回值为null的情况。现在我把img文件夹移入eclipse的src目录下了,一切都通了~~~~谢谢各位了!
补充:Java , Java SE