任何人都可以帮助我,为什么我的 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"))
值得阅读 Loading Images Using getResource 上的Java 教程
关于java - 使用 ImageIcon(getClass().getResource() 将图像添加到 eclipse java 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970603/