使用路径名加载图像文件时出现NullPointerException

时间:2013-08-15 14:15:27

标签: java image swing path imageicon

在使用NetBeans时,无处不在,仍无法找到解决此问题的方法。

当我使用以下代码按路径加载文件时:

Image owl = new ImageIcon(this.getClass().getResource("/images/owl.gif")).getImage();

我收到NullPointerException。我在某处建议创建一个新文件夹并将其作为项目的源文件,但这没有用。我尝试过在本网站和其他网站上发现的多条建议,但我没有得到任何结果。

我开始怀疑我将路径放入的方式是否有问题,但我正在按照其他地方的方式进行操作。我已经尝试了过去几天我能找到解决这个问题的每个例子的每个组合,但没有任何工作。

2 个答案:

答案 0 :(得分:3)

似乎images文件夹不是您的类路径的一部分。在Eclipse中,它不在他们所谓的构建路径中。

右键单击images文件夹,选择“构建路径”和“用作源文件夹”。现在,只要您通过Eclipse运行应用程序,该文件夹就会添加到类路径中。如果这样做,则需要将路径更改为

Image owl = new ImageIcon(this.getClass().getResource("/owl.gif")).getImage();

因为现在images中的所有内容都将直接放在类路径上。

您可以在普通images文件夹下创建一个名为src的包,并将其命名为

Image owl = new ImageIcon(this.getClass().getResource("/images/owl.gif")).getImage();

答案 1 :(得分:1)

.getResource()在找不到资源时返回null。那就是你获得空的地方。

您的问题是owl.gif的路径不正确。