Zwei Möglichkeiten:
1. Action in Ihrer Klasse implementieren, dann jBtnSelection.addActionListener(this);
Später verwenden, werden Sie eine menthod definieren müssen, public void actionPerformed(ActionEvent e)
. Dies kann jedoch für mehrere Schaltflächen verwirrend sein, da die Methode actionPerformed
die Quelle jedes Ereignisses überprüfen muss (e.getSource()
), um zu sehen, von welcher Schaltfläche sie stammt.
2. Verwenden anonyme innere Klassen:
jBtnSelection.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
selectionButtonPressed();
}
});
Später werden Sie selectionButtonPressed()
definieren. Dies funktioniert besser, wenn Sie mehrere Schaltflächen haben, da Ihre Aufrufe an einzelne Methoden zur Behandlung der Aktionen direkt neben der Definition der Schaltfläche sind.
Mit der zweiten Methode können Sie die Auswahlmethode auch direkt aufrufen. In diesem Fall können Sie selectionButtonPressed()
aufrufen, wenn auch eine andere Aktion stattfindet - etwa wenn ein Timer abläuft oder etwas anderes (aber in diesem Fall würde Ihre Methode etwas anderes heißen, vielleicht selectionChanged()
).
Sie löste meine Verwirrung, vielen Dank –
@Sara - Froh, dass geholfen! Wenn Sie weitere Erläuterungen benötigen, füge ich sie gerne dieser Antwort hinzu. –
Wenn jemand fragt: Wie kann eine Komponente ihre eigenen Ereignisse behandeln? ist die Antwort auf diese Frage zu anonymen inneren Klassen wie Sie hier gezeigt verwenden? –