Ich erstelle ein Quiz für die Schule. Es gibt mehrere Schaltflächen für die Fragen, die beim Drücken die neue Frage anzeigen und 4 verschiedene ActionListeners
für die Schaltflächen der 4 Antworten erstellen. Jetzt muss ich die 4 ActionListeners
entfernen, nachdem eine Taste gedrückt wurde. Ich bin in der Lage, die ActionListener
von der Schaltfläche selbst zu entfernen, aber ich möchte auch die anderen 3 ActionListeners
entfernen.Java: Wie man anonyme ActionListeners entfernt?
Jede neue ActionListener
sieht wie folgt aus:
btAnswer1.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(java.awt.event.ActionEvent evt)
{
lResult.setForeground(Color.red);
lResult.setText("Wrong Answer :(");
// The team is changed.
if (aktTeam == 1)
{
aktTeam = 2;
lAktTeam.setText("Team 2");
}
else
{
aktTeam = 1;
lAktTeam.setText("Team 1");
}
// Here, this ActionListener is removed. But the others should
// be removed too.
btAntwort1.removeActionListener(this);
}
});
ich jemand hoffen, helfen kann. :)
Bearbeiten: Von davidxxx gelöst. Vielen Dank!
Ist das 'awt' ???? – CKing
Speichern Sie die Referenzen des neu erstellten 'ActionListener's (in einem Array zum Beispiel) und verwenden Sie diese Referenzen dann erneut, um sie alle später zu entfernen. – Stephan
Haben Sie Bezug auf die Komponente, die alle Schaltflächen enthält? – CKing