Java异常ArrayIndexOutOfBounds

时间:2016-04-10 10:12:08

标签: java swing indexoutofboundsexception

JButton btn = new JButton();
    JButton[][] boutons = {{btn},{btn}};

    public Fenetre() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new GridLayout(9, 9));

        setContentPane(contentPane);
        for (int ligne=1;ligne<=9;ligne++) {
            for(int colone=1;colone<=9;colone++) {
                //btn = new JButton();
                contentPane.add(boutons[ligne][colone]);
                btn.setName(String.valueOf(ligne) + "" + String.valueOf(colone));
                System.out.println(String.valueOf(ligne) + "" + String.valueOf(colone));
                btn.addActionListener(this);
            }
        }

我的错误来自哪里?我找不到我的例外原因,请帮帮我

java.lang.ArrayIndexOutOfBoundsException:1

2 个答案:

答案 0 :(得分:0)

您正在将boutons编入索引范围。

boutons是大小为2x1的二维数组,因此只有有效索引为:

boutons[0][0]boutons[1][0]

并为boutons[ligne][colone]

迭代[1..9] [1..9]

答案 1 :(得分:0)

你这样做:

 for (int ligne=1;ligne<=9;ligne++) {

在一个不包含这么多元素的数组中。

 JButton[][] boutons = {{btn},{btn}};

你需要根据boutons数组的长度循环for ..

JButton[][] boutons = {{btn},{btn}};