Java:尝试设置应用程序图标时为空指针

标签 java nullpointerexception icons

我正在尝试为我的 Java 应用程序设置一个图标,图像位于 asset/images 中。

这样设置:

java.net.URL url = ClassLoader.getSystemResource("assets/images/ravens.jpg");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
frame.setIconImage(img);

我收到的错误:

Uncaught error fetching image:
java.lang.NullPointerException
    at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:115)
    at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:125)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:205)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:169)

如有任何帮助,我们将不胜感激!

最佳答案

有一种更好的方法可以通过使用 BufferedImage 来执行此操作,而不会出现 NullPointerException。我已经测试过这个并且它有效。将您的代码替换为:

BufferedImage img = null;
try {
    img = ImageIO.read(new File("assets/images/ravens.jpg"));
} catch (IOException e) {}
frame.setIconImage(img);

关于Java:尝试设置应用程序图标时为空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799115/

相关文章:

java - 如何从 Google 数据存储中检索数据?

Java NullPointerException 即使对象存在

android - 应用程序的图标在 Phonegap Build 的页面中不可见

git - 带有右箭头的github存储库文件夹是什么意思?

Java 为什么我输入的每个输入都会忽略我的 While 循环?

java - JDBC 连接链接失败 - 如何进行故障转移?

java - 什么是 J9VMInternals,它是如何工作的?

java - 什么是NullPointerException,我该如何解决?

python - PyQt/PySide 中是否有默认图标?

java - 是否可以在 maven 中使用 apache cxf 将 web 服务客户端代码生成到特殊包?