0

この JLabel の ImageIcon を何かに設定しようとすると、エラーが発生するのはなぜですか。null ポインター例外を返します。誰も問題を知っていますか?

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"));

基本的に、 type の 10 個の参照を保持する配列を作成しています。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 に答える