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.
Die ArrayList wurde als Instanzvariable deklariert: ArrayList<JPanel> sequenz = new ArrayList<JPanel>();
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);
}
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);
}
}
Die ArrayList wurde als Instanzvariable deklariert: ArrayList<JPanel> sequenz = new ArrayList<JPanel>();