java - 使用 ImageIcon(getClass().getResource() 将图像添加到 eclipse java 项目

标签 java image swing embedded-resource

任何人都可以帮助我,为什么我的 Java swing 应用程序使用时会出现错误

ImageIcon(getClass().getResource()

加载图像,如下所示。提前致谢。

显示错误的代码:

jButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/folder63.png"))); 

错误描述:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at frame.foundation.initComponents(foundation.java:282)
at frame.foundation.<init>(foundation.java:21)
at frame.foundation$127.run(foundation.java:3453)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

PS:我还在项目中添加了“images”文件夹作为源文件夹

文件夹结构:

myprojectName  
         |  
         |___src  
         |     |  
         |     |___frame //(is my package)  
         |            |  
         |            |__foundation.java // main class  
         |  
         |__images  
         |    |  
         |    |__folder63.png  
         |    |__d.jpg  
         |    |__e.jpg  
         |    |__f.jpg    

最佳答案

确保图像文件位于正确的位置。它应该位于 src/images 文件夹下。

您可以根据图像位置尝试任何一种。

// Read from same package 
ImageIO.read(getClass().getResourceAsStream("folder63.png"));

// Read from images folder parallel to src in your project
ImageIO.read(new File("images/folder63.jpg"));

// Read from src/images folder
ImageIO.read(getClass().getResource("/images/folder63.png"))

// Read from src/images folder
ImageIO.read(getClass().getResourceAsStream("/images/folder63.png"))

Read more...

值得阅读 Loading Images Using getResource 上的Java 教程

关于java - 使用 ImageIcon(getClass().getResource() 将图像添加到 eclipse java 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970603/

相关文章:

java - 如何在 LoadRunner SAP GUI 协议(protocol)中添加文本检查以验证 sapgui_status_bar_get_text

Java以二月第一周为第一周计算周数?

java - 如何从客户端应用程序调用 weblogic 服务器中的集群 EJB 应用程序

java - Struts 标签中的 # 、 % 和 $ 符号有什么区别?

html - 图片覆盖链接

java - 在 Java Swing 中创建 "Tips on StartUp"

Java JScrollPane 未按预期工作

java - 当 JFrame 移动到桌面前面时会触发什么 Swing 事件

python - 如何使用Python Pillow/Image将小图像插入照片的一角?

Java boolean 值转换为 Object[][]