无法使用getResource()获取资源

时间:2014-05-12 18:17:33

标签: java swing user-interface nullpointerexception imageicon

我正在尝试在JButton中使用代码:

来获取图像
ImageIcon imageIcon = new ImageIcon(MineSweeper.class.getResource("C:\\Users\\___\\Documents\\GitHub\\____\\myImage.png"));
buttons[x][y].setIcon(imageIcon);

我知道那里存在文件,但是每次运行它都会出现错误,

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)

在环顾四周之后说这是无法找到文件的回应,我很困惑我在这里做错了什么。如果我尝试使用绝对或相对路径,我会收到此错误,有人可以指出错误吗?我必须在这看起来非常简单。

修改

当Alan建议移动文件时,我把它放到src文件夹中,它工作正常。显然,把它放在哪里都行不通。

2 个答案:

答案 0 :(得分:2)

尝试这样的设置图像图标

ImageIcon imageIcon = new ImageIcon(getClass().getResource("myImage.png"));

如果使用IDE,您的图像文件应位于src文件夹中。如果您没有使用IDE,请将图像放在与.java文件相同的文件夹中。

答案 1 :(得分:1)

直接传递路径。

ImageIcon image = new ImageIcon("c://somepath//image.png");

我不知道,MineSweeper在这里有用吗