0

当我尝试将此 JLabel 的 ImageIcon 设置为某个值时,为什么会出现错误。它返回一个空指针异常。有谁知道这个问题?

public class Window extends JFrame{

    JPanel panel = new JPanel();
    JLabel stick[] = new JLabel[10];    

    Window(){

        super("ThisIsWindow");
        setSize(650,550);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);

        add(panel);
        panel.setLayout(null);

        stick[5].setIcon(new ImageIcon("stick.gif"));

    }
}

错误发生在将stick[5] 设置为stick.gif 的代码的最后一行。任何人都可以帮忙吗?

4

2 回答 2

6

添加

stick[5] = new JLabel();

stick[5].setIcon(new ImageIcon("stick.gif"));

基本上,您正在创建一个包含 10 个 type 引用的数组JLabel,并且这些引用在开头没有引用任何内容(null):

JLabel stick[] = new JLabel[10];

因此,您需要创建 10 个JLabelwith实例new JLabel()并让这 10 个引用指向它们:

for(int i = 0; i < 10; i++) stick[i] = new JLabel();
于 2012-06-14T20:03:23.270 回答
0

中是否有 JLabel 对象stick[5]

于 2012-06-14T20:03:19.437 回答