首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageIcon异常

ImageIcon异常
EN

Stack Overflow用户
提问于 2013-08-07 21:36:30
回答 3查看 1.1K关注 0票数 2

我是java新手,在使用java-7-openjdk在eclipse linux mint上运行时(我想,虽然不知道eclipse是否有自己的sun jdt),

代码语言:javascript
复制
public class Gui extends JFrame{
private JComboBox box;
private JLabel picture;
private static String[] filename = {"b.PNG","x.PNG"};
private Icon[] pics = {new ImageIcon(getClass().getResource(filename[0])),   
    new ImageIcon(getClass().getResource(filename[1]))};



Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at bucky.Gui.<init>(Gui.java:10)
at bucky.apples.main(apples.java:12)

我看不出有什么问题(linux mint 15 cinnamon)

EN

回答 3

Stack Overflow用户

发布于 2013-08-07 21:40:08

此异常在ImageIcon构造函数中引发,并声明getClass().getResource(filename[0])getClass().getResource(filename[1])为空

您指定的路径不正确。确保这些图像所在的文件夹位于类路径中

可以进行简单的检查:

代码语言:javascript
复制
File f = new File("b.PNG");
System.out.println(f.exists());

应该打印你的true

票数 2
EN

Stack Overflow用户

发布于 2013-08-07 21:47:14

getClass().getResource(filename[0])其中filename[0]b.PNG表示相对路径,并将尝试从与您的类Gui相同的文件夹(即相同的包)加载图像。

确保图像确实在该位置。

如果您的图像位于默认包(即根源文件夹)中,则可以将其加载为getClass().getResource("/" + filename[0]) (即使用绝对路径)。

票数 2
EN

Stack Overflow用户

发布于 2013-08-07 22:04:00

哦,人类的错误可能是如此卑劣。我的文件不是b.PNG和x.PNG,而是a.PNG和x.PNG,尽管如此,还是很遗憾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18104883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档