JLabel数组中的空指针异常

时间:2014-04-05 11:41:58

标签: java arrays swing nullpointerexception jlabel

我想在for循环中创建带有图标的JLabel。

这是我的代码;

 final JLabel[] box = new JLabel[27]; 
 for(int i = 0; i < 25; i++){
     int j = 1;
     String r = "case" + j + ".png";
     box[i] = new JLabel(new ImageIcon(getClass().getResource(r)));
     j++;
 }

图标的名称类似于case1.pngcase2.png; ....

但是有一个零点异常。

Exception in thread "main" java.lang.NullPointerException at 
java.awt.Container.addImpl(Unknown Source) at java.awt.Container.add(Unknown Source)
at Game.<init>(Game.java:185) at Game.main(Game.java:243) here are the exceptions

是不是因为我没有真正创建图标名称?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您要将JLabel的所有姓名声明为case1.png,因为在for loop开始时,您正在指定int j = 1;

您的代码应如下所示:

 final JLabel[] box = new JLabel[27]; 
 int j = 1; //should be outside the for loop
 for(int i = 0; i < 25; i++) {
     String r = "case" + j + ".png";
     box[i] = new JLabel(new ImageIcon(getClass().getResource(r)));
     j++;
 }