使用for循环向ArrayList添加项会抛出outofbounds异常

时间:2017-12-02 10:11:34

标签: java swing for-loop button arraylist

我正在尝试将一些JButton添加到JButton数组列表中,但是运行代码会产生OutOfBounds异常。 这是代码,摘自main方法:

ArrayList<JButton> buttonList = new ArrayList<JButton>();

        for(int i = 1; i<=5; i+=1) {

            int j = i;
            JButton btn = new JButton();
            btn.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    System.out.println(j);
                }

            });
            buttonList.add(i, btn);
            mainPanel.add(buttonList.get(i));
            System.out.println("Print "+i);

为什么这里有一个异常的例外?我认为ArrayLists是动态的,无论如何都以10的初始容量开始。

1 个答案:

答案 0 :(得分:1)

这对你有用。

 for(int i = 0; i<5; i+=1)