使用 ImageIcon(getClass().getResource() 将图像添加到 eclipse java 项目
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24970603/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Adding images to eclipse java project using ImageIcon(getClass().getResource()
提问by victoryVSK
Can anyone help why am I getting error for my Java swing application that makes use of
任何人都可以帮助为什么我的 Java Swing 应用程序出现错误
ImageIcon(getClass().getResource()
to load images as shown below. Thanks in advance.
加载图像,如下所示。提前致谢。
Code where error is shown:
显示错误的代码:
jButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/folder63.png")));
Error description:
错误描述:
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.foundation7.run(foundation.java:3453)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access0(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.awt.EventQueue.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain.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: I have also added "images" folder as the source folder in my project
PS:我还在我的项目中添加了“images”文件夹作为源文件夹
Folder Structure:
文件夹结构:
myprojectName
|
|___src
| |
| |___frame //(is my package)
| |
| |__foundation.java // main class
|
|__images
| |
| |__folder63.png
| |__d.jpg
| |__e.jpg
| |__f.jpg
采纳答案by Braj
Make sure image file is present at correct location. It should be under src/images
folder.
确保图像文件位于正确的位置。它应该在src/images
文件夹下。
You can try any one based on image location.
您可以根据图像位置尝试任何一种。
// 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"))
It's worth reading Java Tutorialon Loading Images Using getResource
这是值得一读Java教程上加载图像使用的getResource
回答by Asad Mukhtar
Try this
尝试这个
InputStream input = classLoader.getResourceAsStream("image.jpg");