Java ImageIcon到JLabel数组

Ben*_*gel 0 java arrays swing jlabel imageicon

当我尝试将此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"));

    }
}
Run Code Online (Sandbox Code Playgroud)

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

Eng*_*uad 6

stick[5] = new JLabel();
Run Code Online (Sandbox Code Playgroud)

之前

stick[5].setIcon(new ImageIcon("stick.gif"));
Run Code Online (Sandbox Code Playgroud)

基本上,您正在创建一个包含10个类型引用的数组JLabel,并且这些引用在开头时指的是nothing(null):

JLabel stick[] = new JLabel[10];
Run Code Online (Sandbox Code Playgroud)

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

for(int i = 0; i < 10; i++) stick[i] = new JLabel();
Run Code Online (Sandbox Code Playgroud)