使用 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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 16:04:52  来源:igfitidea点击:

Adding images to eclipse java project using ImageIcon(getClass().getResource()

javaimageswingembedded-resource

提问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/imagesfolder.

确保图像文件位于正确的位置。它应该在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"))

Read more...

阅读更多...

It's worth reading Java Tutorialon Loading Images Using getResource

这是值得一读Java教程加载图像使用的getResource

回答by Asad Mukhtar

Try this

尝试这个

InputStream input = classLoader.getResourceAsStream("image.jpg");