我有一个问题,所以我会在下面显示。首先,感谢阅读!
我在Netbeans上编写扫雷游戏。在代码中,我必须包括数字,炸弹,旗帜的图像......
首先,我在“src”中创建了一个“images”文件夹。然后我去了Properties,并添加了Resources(它在项目中显示了images文件夹)。
我的工作屏幕:https://flic.kr/p/qevcEm
然后这很重要,我搜索谷歌并使用此代码但遇到了麻烦。
public void imgmine() {
String name;
for (int i = 0; i <= 8; i++) {
name = "images/" + i + ".png";
ic[i] = new ImageIcon(this.getClass().getResource(name));
/// i was edit above line. but 9 10 11 12 13 wasnt.
}
ic[9] = new ImageIcon("bomb.png");
ic[10] = new ImageIcon("flag.png");
ic[11] = new ImageIcon("newgame.png");
ic[12] = new ImageIcon("crape.gif");
ic[13] = new ImageIcon("winner.gif");
}
Windows代码中没有错误。但是Complier说:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at Minesweeper.imgmine(Minesweeper.java:522)
at Minesweeper.<init>(Minesweeper.java:43)
at Main.main(Main.java:32)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
第522行
ic[i] = new ImageIcon(this.getClass().getResource(name));
答案 0 :(得分:2)
使用绝对路径,因为getClass().getResource(...)
给出了包的目录的相对根。
name = "/images/" + i + ".png";
P.S。
不是bomb.png而其他人不在图片/?