In der unten stehenden Klasse habe ich in Zeile 226 einen hartnäckigen Error:
Normalerweise, müsste ja irgendwo danach eine Klammer zu viel stehen . Ich sehe aber keine. Habe auch schon das Programm laufen lassen und Eclipse geschlossen und wieder geöffnet (meiner Erfahrtung nach verschwinden dann unberechtigte Fehlermeldungen), ohne Erfolg.
Syntax error on token "}", delete this token
Normalerweise, müsste ja irgendwo danach eine Klammer zu viel stehen . Ich sehe aber keine. Habe auch schon das Programm laufen lassen und Eclipse geschlossen und wieder geöffnet (meiner Erfahrtung nach verschwinden dann unberechtigte Fehlermeldungen), ohne Erfolg.
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Card3 extends JPanel {
//Deklarationsteil
boolean eingabeBeendet;
JPanel suedpanel;
JLabel moglerMeldung;
CorsiBloecke corsiBloecke;
Window window;
JLabel rueckmeldungenRichtig;
JLabel rueckmeldungenFalsch;
boolean naechsteSequenzAngefordert;
JButton buttonNaechsteSequenzStarten;
JButton buttonEingabeBeenden;
JLabel wortdarbietung;
JTextField worteingabe;
int i =0;
public Card3(Window window) {
this.window=window;
naechsteSequenzAngefordert=false;
this.setLayout(new BorderLayout());
worteingabe = new JTextField();
//Buttons erzeugen und Größe einstellen
buttonEingabeBeenden = new JButton("Eingabe beenden");
buttonEingabeBeenden.setPreferredSize(new Dimension(140, 40));
buttonNaechsteSequenzStarten = new JButton("Start");
buttonNaechsteSequenzStarten.setPreferredSize(new Dimension(140, 40));
//Panels erzeugen und adden für Layout
suedpanel=new JPanel();
suedpanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 50, 0));
suedpanel.add(buttonNaechsteSequenzStarten);
suedpanel.add(buttonEingabeBeenden);
suedpanel.setBackground(Color.BLACK);
this.add(suedpanel, BorderLayout.SOUTH);
suedpanel.add(buttonNaechsteSequenzStarten);
suedpanel.add(buttonEingabeBeenden);
buttonEingabeBeenden.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg) {
eingabeBeendet=true;
};
});
buttonNaechsteSequenzStarten.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg) {
naechsteSequenzAngefordert=true;
};
});
//Corsi-Blöcke machen und add-en
corsiBloecke = new CorsiBloecke();
this.add(corsiBloecke, BorderLayout.CENTER);
this.window.validate();
//***Label für Rückmeldungen (richtig vs. falsch) erzeugen und einstellen
//Label für Rückmeldungen "richtig
rueckmeldungenRichtig = new JLabel();
rueckmeldungenRichtig.setVisible(false);
rueckmeldungenRichtig.setForeground(Color.BLACK);
rueckmeldungenRichtig.setFont(new Font("Dialog", 0, 50));
rueckmeldungenRichtig.setOpaque(true);
rueckmeldungenRichtig.setBounds(400,200,300,100);
rueckmeldungenRichtig.setText("Richtig!");
this.corsiBloecke.add(rueckmeldungenRichtig);
rueckmeldungenFalsch = new JLabel();
rueckmeldungenFalsch.setVisible(false);
rueckmeldungenFalsch.setForeground(Color.BLACK);
rueckmeldungenFalsch.setFont(new Font("Dialog", 0, 50));
rueckmeldungenFalsch.setOpaque(true);
rueckmeldungenFalsch.setBounds(400,200,300,100);
rueckmeldungenFalsch.setText("Falsch!");
this.corsiBloecke.add(rueckmeldungenFalsch);
// JButton gammel=new JButton("bowe");
// this.add(gammel, BorderLayout.CENTER);
//Label für Mogler-Meldung
moglerMeldung = new JLabel("Sie konnten sich eine Sequenzlänge von zwei nicht merken. Bitte wenden Sie sich an den Versuchsleiter.");
moglerMeldung.setVisible(false);
moglerMeldung.setOpaque(true);
moglerMeldung.setFont(new Font("Dialog", 0, 15));
moglerMeldung.setBounds(10,10,800,500);
this.corsiBloecke.add(moglerMeldung);
//Label für Wortdarbietungen
wortdarbietung = new JLabel();
wortdarbietung.setVisible(false);
wortdarbietung.setOpaque(true);
wortdarbietung.setFont(new Font("Dialog", 0, 15));
wortdarbietung.setBounds(10,10,800,500);
this.corsiBloecke.add(wortdarbietung);
}
//***Methodenteil***//
//starten den Versuch mit Versuchsaufklärung
//rueckmeldungenRichtig einblenden
public void einblendenRueckmeldungenRichtig() {
this.rueckmeldungenRichtig.setVisible(true);
}
//rueckmeldungenRichtig ausblenden
public void ausblendenRueckmeldungenRichtig() {
this.rueckmeldungenRichtig.setVisible(false);
}
//rueckmeldungenFalsch sichtbar machen
public void zeigenRueckmeldungenFalsch() {
this.rueckmeldungenFalsch.setVisible(true);
}
//rueckmeldungenFalsch ausblenden
public void ausblendenRueckmeldungenFalsch() {
this.rueckmeldungenFalsch.setVisible(false);
}
//starten den Versuch mit Versuchsaufklärung
public void weiter(){
this.window.cardLayout.show(this.window.cards, "CorsiAufgabe");
}
//setzt das flag eingabeBeendet auf false zurück
public void eingabeBeendetFalseSetzen(){
this.eingabeBeendet = false;
}
//gibt den Wert der booleanen Variablen
public boolean statusEingabeBeendet(){
return this.eingabeBeendet;
}
//gibt Status "naechsteSequenzAngefordert"
public boolean statusNaechsteSequenzAngefordert() {
return naechsteSequenzAngefordert;
}
//Mogler-Meldung einblenden
public void moglerMeldung() {
this.moglerMeldung.setVisible(true);
// this.corsiBloecke.setVisible(false);
this.buttonNaechsteSequenzStarten.setVisible(false);
this.buttonEingabeBeenden.setVisible(false);
this.ausblendenRueckmeldungenFalsch();
}
//Button "Eingabe beenden ausgrauen"
public void buttonEingabeBeendeAusgrauen() {
this.buttonEingabeBeenden.setEnabled(false);
}
//Button "Sequenz starten" ausgrauen
public void buttonNaechsteSequenzAusgrauen() {
this.buttonNaechsteSequenzStarten.setEnabled(false);
}
// Label für Wortdarbietungen einblenden kurz
public void wortDarbieten(String x) throws InterruptedException{
wortdarbietung.setText(x);
wortdarbietung.setVisible(true);
Thread.sleep(1000);
wortdarbietung.setText("");
wortdarbietung.setVisible(false);
}
// Label für Wortabfrage einblenden
public void wortAbfragen() throws InterruptedException{
Card3.this.worteingabe.setText("");
worteingabe.setVisible(true);
}
worteingabe.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg) {
Card3.this.corsiBloecke.eingabeSequenzVPwort.add(i,worteingabe.getText());
i++;
};
});
}}