Moin,
ich habe eine Klasse Sequenz geschrieben die Sequenzen von farbigen Panels erzeugt. Die Panels werden in einer ArrayList abgelegt. Konstruktor siehe unten, die Farben so wie sie jetzt sind sind noch nicht endgültig.
In der gleichen Klasse will ich eine Methode praesentiere() implementieren. Diese Methode bekommt einen Frame übergeben und zeigt die Sequenz auf der die Methode aufgerufen wurde auf diesem Frame an indem der Reihe nach jeder Frame der ArrayList für eine Sekunde angezeigt wird. Das Problem ist, dass ich mit this.get() nicht die get-Methode von präsentiere aus aufrufen kann. Es kommt die Meldung "The method get(int) is undefined for the type Sequenz". Im Konstruktor funktioniert es aber und Sequenz ist vom Typ Array List. this. sollte die Sequenz referenzieren auf der die Methode praesentiere() aufgerufen wurde. Was mache ich falsch?
ich habe eine Klasse Sequenz geschrieben die Sequenzen von farbigen Panels erzeugt. Die Panels werden in einer ArrayList abgelegt. Konstruktor siehe unten, die Farben so wie sie jetzt sind sind noch nicht endgültig.
In der gleichen Klasse will ich eine Methode praesentiere() implementieren. Diese Methode bekommt einen Frame übergeben und zeigt die Sequenz auf der die Methode aufgerufen wurde auf diesem Frame an indem der Reihe nach jeder Frame der ArrayList für eine Sekunde angezeigt wird. Das Problem ist, dass ich mit this.get() nicht die get-Methode von präsentiere aus aufrufen kann. Es kommt die Meldung "The method get(int) is undefined for the type Sequenz". Im Konstruktor funktioniert es aber und Sequenz ist vom Typ Array List. this. sollte die Sequenz referenzieren auf der die Methode praesentiere() aufgerufen wurde. Was mache ich falsch?
Java:
//Konstruktor der Klasse Sequenz
public Sequenz(int a) {
int anzQuadrate=a;
ArrayList<JPanel> sequenz = new ArrayList<JPanel>();
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);
}
if (anzQuadrate==5) {
for (int i =1; i>=5; 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);
sequenz.get(4).setBackground(Color.GRAY);
}
if (anzQuadrate==6) {
for (int i =1; i>=6; 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);
sequenz.get(4).setBackground(Color.GRAY);
sequenz.get(5).setBackground(Color.ORANGE);
}
if (anzQuadrate==7) {
for (int i =1; i>=7; i++) {
sequenz.add(new JPanel());
}
sequenz.get(0).setBackground(Color.WHITE);
sequenz.get(1).setBackground(Color.RED);
sequenz.get(2).setBackground(Color.BLUE);
sequenz.get(3).setBackground(Color.YELLOW);
sequenz.get(4).setBackground(Color.GRAY);
sequenz.get(5).setBackground(Color.ORANGE);
sequenz.get(6).setBackground(Color.WHITE);
}
if (anzQuadrate==8) {
for (int i =1; i>=4; i++) {
sequenz.add(new JPanel());
}
sequenz.get(0).setBackground(Color.RED);
sequenz.get(1).setBackground(Color.GREEN);
sequenz.get(2).setBackground(Color.GRAY);
sequenz.get(3).setBackground(Color.YELLOW);
sequenz.get(4).setBackground(Color.WHITE);
sequenz.get(5).setBackground(Color.BLACK);
sequenz.get(6).setBackground(Color.BLUE);
sequenz.get(7).setBackground(Color.ORANGE);
}
}
Java:
public void praesentieren(JFrame window) throws InterruptedException {
for (i=0; i>a; i++) {
this.get(i).setVisible(false);
window.add(window, this);
this.get(i).setVisible(true);
Thread.sleep(1000);
this.get(i).setVisible(false);
}
}