java - JLabel 数组中的空指针异常

标签 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

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

最佳答案

您将所有 JLabel 的名称声明为 case1.png,因为在 for 循环 开始时,您正在分配 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++;
 }

关于java - JLabel 数组中的空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22880419/

相关文章:

java - Swing 中 JTextField 消失的问题

python - 折叠 numpy 数组尾随维度的简单方法?

java - IndexOf 两个 HashSet 字符串 - 共享首选项

java - 图形对象被抑制

java - 根据字符串的第一个字符从 ArrayList 中删除重复项

编写记录列表的Java应用程序

java - 如何创建可滚动的 JPopupMenu

java - 区分 String/Int 用户输入

java - 在Java中,为什么char ch与String命令不一致?

java - 在支持 bean (SEAM) 中启用 hibernate 过滤器