public class QuadrSequenz {
//Deklarationsteil
public int a;
int i,j, h,l;
ArrayList<JPanel> sequenz = new ArrayList<JPanel>();
//Hilfsarray um die Eingaben abzuspeichern
ArrayList<String> hilfsArray = new ArrayList<String>();
//Konstruktor der Klasse Sequenz
public QuadrSequenz(int a) {
int anzQuadrate=a;
// for (h=1; h==a; h++) { //???????
if (anzQuadrate==4) {
for (int i =0; i<=3; 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.BLUE);
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.YELLOW);
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.MAGENTA);
sequenz.get(1).setBackground(Color.RED);
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);
}
}
//Methoden der Klasse Sequenz
//prasentieren bekommt ein window übergeben und muss auf diesem die Sequenz anzeigen
public void praesentieren(Window window) throws InterruptedException {
Window w = window;
// for (j=0; j<=a; j++){
this.sequenz.get(0).setVisible(true);
this.sequenz.get(0).setPreferredSize(new Dimension(10, 10));
w.add(this.sequenz.get(0),BorderLayout.CENTER);
w.validate();
Thread.sleep(1000);
this.sequenz.get(0).setVisible(false);
Thread.sleep(1000);
w.remove(this.sequenz.get(0));
this.sequenz.get(1).setVisible(true);
// this.sequenz.get(1).setPreferredSize(new Dimension(10, 10));
w.add(this.sequenz.get(1),BorderLayout.CENTER);
w.validate();
Thread.sleep(1000);
this.sequenz.get(1).setVisible(false);
Thread.sleep(1000);
w.remove(this.sequenz.get(1));
this.sequenz.get(2).setVisible(true);
// this.sequenz.get(2).setPreferredSize(new Dimension(10, 10));
w.add(this.sequenz.get(2),BorderLayout.CENTER);
w.validate();
Thread.sleep(1000);
this.sequenz.get(2).setVisible(false);
Thread.sleep(1000);
w.remove(this.sequenz.get(2));
this.sequenz.get(3).setVisible(true);
// this.sequenz.get(3).setPreferredSize(new Dimension(10, 10));
w.add(this.sequenz.get(3),BorderLayout.CENTER);
w.validate();
Thread.sleep(1000);
this.sequenz.get(3).setVisible(false);
Thread.sleep(1000);
w.remove(this.sequenz.get(3));
}
// zur Abfrage der Sequenz erforderliche Eingabefelder erzeugen und anzeigen
public void abfragen(Frame window){
Frame w1 = window;
final ArrayList<JFormattedTextField> listeMitEingabefeldern = new ArrayList<JFormattedTextField>();
/* for (l=0; l<=a; l++){
listeMitEingabefeldern.add(new JFormattedTextField());
}
for (l=0; l<=a; l++){
listeMitEingabefeldern.get(a).setVisible(true);
w1.add(listeMitEingabefeldern.get(a)); } */
listeMitEingabefeldern.add(new JFormattedTextField());
listeMitEingabefeldern.get(0).setVisible(true);
w1.add(listeMitEingabefeldern.get(0),BorderLayout.CENTER);
w1.validate();
listeMitEingabefeldern.get(0).addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
hilfsArray.add(listeMitEingabefeldern.get(0).getText());
listeMitEingabefeldern.get(0).setVisible(false);
// System.out.println(hilfsArray.size());
}
});
listeMitEingabefeldern.add(new JFormattedTextField());
listeMitEingabefeldern.get(1).setVisible(true);
w1.add(listeMitEingabefeldern.get(1),BorderLayout.CENTER);
w1.validate();
listeMitEingabefeldern.get(1).addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent arg1) {
hilfsArray.add(listeMitEingabefeldern.get(1).getText());
listeMitEingabefeldern.get(1).setVisible(false);
// System.out.println(hilfsArray.size());
}
});
listeMitEingabefeldern.add(new JFormattedTextField());
listeMitEingabefeldern.get(2).setVisible(true);
w1.add(listeMitEingabefeldern.get(2),BorderLayout.CENTER);
w1.validate();
listeMitEingabefeldern.get(2).addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent arg2) {
hilfsArray.add(listeMitEingabefeldern.get(2).getText());
listeMitEingabefeldern.get(2).setVisible(false);
}
});
listeMitEingabefeldern.add(new JFormattedTextField());
listeMitEingabefeldern.get(3).setVisible(true);
w1.add(listeMitEingabefeldern.get(3),BorderLayout.CENTER);
w1.validate();
listeMitEingabefeldern.get(3).addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent arg3) {
hilfsArray.add(listeMitEingabefeldern.get(3).getText());
listeMitEingabefeldern.get(3).setVisible(false);
}
});
}
// testet ob die vom Teilnehmer eingegebene Sequenz (hilfsArray mit der ursprünglich
// dargebotentn Sequenz übereinstimmt
public void vergleiche() {
System.out.println("davor"+ hilfsArray.size());
System.out.println(hilfsArray.get(0));
System.out.println(hilfsArray.get(1));
System.out.println(hilfsArray.get(2));
System.out.println(hilfsArray.get(3));
System.out.println("danach" +hilfsArray.size());
}
}