用Java包含图像

时间:2014-12-02 15:32:17

标签: java swing netbeans

我有一个问题,所以我会在下面显示。首先,感谢阅读!

我在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)); 

1 个答案:

答案 0 :(得分:2)

使用绝对路径,因为getClass().getResource(...)给出了包的目录的相对根。

name = "/images/" + i + ".png";

P.S。

不是bomb.png而其他人不在图片/?