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

标签 java image swing path imageicon

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

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

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

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

我开始怀疑我放置路径的方式是否有问题,但我完全按照它在其他地方显示的方式进行操作。在过去的几天里,我已经尝试了我能找到的每个示例的所有组合来解决这个问题,但没有任何效果。

最佳答案

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

右键单击images 文件夹,选择Build Path 和Use as Source Folder。每当您通过 Eclipse 运行您的应用程序时,该文件夹现在将被添加到类路径中。如果这样做,您需要将路径更改为

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

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

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

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

关于java - 使用路径名加载图像文件时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18254620/

相关文章:

java - 为什么卡片没有出现在 JPanel CardLayout 上?

java - 有没有更好的方法来处理将多个参数传递给方法

android - 如何在 Android 中为位图着色?

java - 本地镜像上传未显示在 Google App Engine 上

android - 如何在 ARCore 中显示 PNG 图片?

java - 为什么 JTree 叶子图标被 "bullets"替换?

java - 比较 SWT 和 SWING

java - tomcat7不读取上下文xml文件

java - JSplitPanel(或 JTabbedPane)有什么问题?

java - 如何在 TestNG 中发出停止测试信号?