Auf Thema antworten

Ich habe unten stehenden Ausschnitt aus einem Konstruktor und unten stehende main-Methode um diesen zu testen. Wenn ich das Programm ablaufen lasse, enthalte ich in der Zeile             sequenz.get(0).setBackground(Color.GREEN); eine IndexOutOfBoundsException. Irgendwas muss bei dem Aufbau der ArrayList über die fore-Schleife im Konstruktor schief gegangen sein, nur was? Eclipse zeigt keine Fehlermeldung an.


[code=Java]    //Konstruktor der Klasse Sequenz

   

    public Sequenz(int a) {

        int anzQuadrate=a;

       

       

        if (anzQuadrate==4) {

            for (int i =1; i>=4; i++) {

            sequenz.add(new JPanel());

            }

            sequenz.get(0).setBackground(Color.GREEN);

            sequenz.get(1).setBackground(Color.RED);

            sequenz.get(2).setBackground(Color.BLUE);

            sequenz.get(3).setBackground(Color.YELLOW);

        }

        [/code]




[code=Java]public class Farbquadrate2 {

   

    public static void main(String[] args) throws InterruptedException{

       

        JFrame frame = new JFrame();

        frame.setExtendedState(Frame.MAXIMIZED_BOTH);   

       

        Sequenz sequenz1 = new Sequenz(4);

        sequenz1.praesentieren(frame);

       

       

    }

   

   

}

[/code]


Die ArrayList wurde als Instanzvariable deklariert:     ArrayList<JPanel> sequenz = new ArrayList<JPanel>();



Oben