Listener für mehrere Buttons

Hallo Zusammen,

ich habe eine recht simple Frage:

Ich habe mehrere Buttons und möchte einen Listener für das drücken irgendeines von diesen Buttons haben.

Etwa so: Wenn irgend ein Button gedrückt wird, dann nimm den Wert (z.B Zahl als Label) von dem gedrückten Button und tue XXX.

Was ich suche ist die Möglichkeit eine allgemeine Methode zu schreiben bei der der gedrückte Button angesprochen werden soll.


Vieln Dank schon im Vorraus

Hernando
 

remy

Aktives Mitglied
Hi,

in der Methode des ActionListeners "actionPerformed" kannst du über das ActionEvent den Auslöser ermitteln.

Etwa so:

[Java]
class MyActionListener implements ActionListener {

public actionPerformed(ActionEvent event) {

if (event.getSource() == myButtonInstance) {
myButtonInstance.setText("pushed");
}
}
}[/code]
 
Leider hab ich es nicht hinbekommen.

Ich erkläre es mal etwas konkreter:

Bei dem Programm handelt es sich um ein Rechenprogramm im Stile von wer wird Millionär, bei dem twei Zahlen addiert werden müssen:

jLabel1 = zahl1
jLabel2 = zahl2

JButton1.setText(ergebnis1)
JButton2.setText(ergebnis2)
JButton3.setText(ergebnis3)
JButton4.setText(ergebnis4)
==> eines dieser Ergebnisse ist richtig (wird per list geshuffelt)

Möchte jetzt sobald ein Click auf irgendein Button erfolgt dieses checken und in ein jLabel3 = RICHTIG! setzen. Was ich suche ist eine allgemeine Methode mit der ich den Wert des angeklickten Buttons überprüfen kann.

Ich könnte ja in jedes Handling folgendes (ganz vereinfacht!) schreiben:

In handling jButton1: if (jButton1 Wert gleich zahl1 + zahl2) dann setz jLabel3 auf RICHTIG!

und das in jedes handling jeweils mit dem dementsprechenden JButton-Wert (also jButton1, jButton2 etc.)

Was ich suche ist eine Methode sagen wir Check() in der es heisst:

getSource vom Button welches geklickt wurde und überprüfe, ob es gleich zahl1 + zahl2 ist. Also sowas wie eine neues allgemeines Button Objekt was ich dann überprüfen kann.

etwa so: geradegeklickterButton.getText == zahl1 + zahl2

Vielen Dank
 

casi91

Bekanntes Mitglied
Hallo,
bitte gewöhn dir an Code (auch wenn es nur Fragmente sind) in die entsprechenden Java-Tags zu setzen. Erhöht die leserlichkeit ungemein.
Nun zu deinem Problem
An sich ist das ganze nicht so schwer.

Du erstellst einen Actionlistener (der einfachheit halber, schreibe ich nun alles in die gleiche Klasse)
Jedem deiner Button wird dieser ActionListener zugeordnet.
In der actioPerformed Methode rufst du nun die von dir gewünschte "check" Methode auf.
In dieser Methode wird das Label des Buttons genommen und entsprechend mit dem Richtigen Ergebnis verglichen.
(Der Code eignet sich nicht unbedingt zum kopieren, ein wenig eigenarbeit ist schon nötig ;-) )

Java:
public class ButtonCheck() {
    public String ergebnis = "";
	private ActionListener buttonAction = (new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
            check(e);
		}
	});

    public void check(ActionEvent e) {
        JButton btn = (JButton) e.getSource(); //Natürlich nur, wenn es sicher ein JButton ist!
        String text = btn.getText(); //An dieser Stelle hast du nun den Text des gedrückten Buttons      
                                                      
        if (text.equals(ergebnis)) {
            ....
        }
    }

   public ButtonCheck() {
        JButton btn1 = new JButton("text1");
        btn1.addActionListener(buttonAction);
        .......
        .......
        .......
    }
}

Hoffe ich habe keinen Fehler in dem Code. Bin selbst noch nicht soo lange am Java programmieren ^.^
und ich hoffe ich konnte dir helfen :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
N Frage zu Listener für Textfelder Java Basics - Anfänger-Themen 5
B externer Listener für Zeichenbereich? Java Basics - Anfänger-Themen 2
G Listener für JPanel für Statusmeldungen Java Basics - Anfänger-Themen 3
F Listener für Variable Java Basics - Anfänger-Themen 29
N Listener für datei Java Basics - Anfänger-Themen 13
G listener für radiobutton Java Basics - Anfänger-Themen 1
E Listener für jedes Objekt Java Basics - Anfänger-Themen 4
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
D String value change listener Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Problem mit Listener Java Basics - Anfänger-Themen 0
P Listener registrieren Java Basics - Anfänger-Themen 40
Salo JTabel Selection listener Bsp. Java Basics - Anfänger-Themen 3
W JLabel, Farbe durch Listener ändern Java Basics - Anfänger-Themen 6
V JTable welcher Listener ? Java Basics - Anfänger-Themen 7
J Verständnis Problem Java-Listener. Java Basics - Anfänger-Themen 59
M Compiler-Fehler Using action listener Java Basics - Anfänger-Themen 1
F Listener schreiben Java Basics - Anfänger-Themen 1
P Eigene Knöpfe mit eigenem Listener Java Basics - Anfänger-Themen 5
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
J Listener Java Basics - Anfänger-Themen 4
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
llabusch Kombinationsfeld - LISTENER Java Basics - Anfänger-Themen 0
S Eigenen Listener zu eigenen Button! Java Basics - Anfänger-Themen 5
S Listener reagieren nicht mehr Java Basics - Anfänger-Themen 3
O Laufender Timer+Action Listener in Thread VS isAlive() Java Basics - Anfänger-Themen 4
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
K On Click listener Problem Java Basics - Anfänger-Themen 4
L JTextField/Listener Input Problem Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
G Listener ohne Objekt Java Basics - Anfänger-Themen 5
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
H Eigenen Listener einbauen Java Basics - Anfänger-Themen 5
K Key Listener bei 2 gleichzeitig gedrückten tasten Java Basics - Anfänger-Themen 3
M Bäume und Listener Java Basics - Anfänger-Themen 2
K Erste Schritte table Listener noob frage Java Basics - Anfänger-Themen 3
E eigenständige Listener-Klasse Java Basics - Anfänger-Themen 9
T Motion listener Java Basics - Anfänger-Themen 10
U Listener erstellen Java Basics - Anfänger-Themen 16
N Variablen aus Action Listener lesen und weiterverarbeiten Java Basics - Anfänger-Themen 12
M listener Java Basics - Anfänger-Themen 16
L Listener Problem in Klasse Java Basics - Anfänger-Themen 8
L Window Listener Java Basics - Anfänger-Themen 2
Kenan89 JTable: Listener Java Basics - Anfänger-Themen 4
N Klassen auf den Action Listener in einer andere Klasse zugreifen Java Basics - Anfänger-Themen 6
A action listener Java Basics - Anfänger-Themen 8
M Netbeans Listener - Anonymous, inner class, main class? Java Basics - Anfänger-Themen 4
K Action Listener reagiert nicht auf Button druck mehr??? Java Basics - Anfänger-Themen 4
E Mehrere Listener auf einen Button? Java Basics - Anfänger-Themen 3
P Input/Output InputStream Listener? Java Basics - Anfänger-Themen 7
X Problem bezüglich Key Listener Java Basics - Anfänger-Themen 3
Y Button hört nicht auf Listener Java Basics - Anfänger-Themen 5
H JTable, Listener und CellEditor Java Basics - Anfänger-Themen 8
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
M Listener Objekte Java Basics - Anfänger-Themen 12
S Applet Key Listener Java Basics - Anfänger-Themen 6
J Action Listener Java Basics - Anfänger-Themen 2
G Probleme mit Listener Java Basics - Anfänger-Themen 27
B Wert einer Variable mit Listener ueberwachen Java Basics - Anfänger-Themen 3
F Port Listener Java Basics - Anfänger-Themen 9
J JComboBox Listener Java Basics - Anfänger-Themen 6
J Window-Listener funktionieren nicht Java Basics - Anfänger-Themen 7
Benji0815 Eigenen Listener schreiben Java Basics - Anfänger-Themen 13
M Probleme beim Aufruf von Listener in anderer Klasse Java Basics - Anfänger-Themen 9
S Key-Listener richtig "einbauen" Java Basics - Anfänger-Themen 42
S Listener von ausserhalb aufrufen Java Basics - Anfänger-Themen 2
S Action Listener Java Basics - Anfänger-Themen 6
Sweety Listener in Swing Java Basics - Anfänger-Themen 8
Hamstinator Design und Listener in verschiedenen Klassen Java Basics - Anfänger-Themen 6
Developer_X Mouse MOTION listener example Java Basics - Anfänger-Themen 5
J Mouse-Listener Java Basics - Anfänger-Themen 3
I Listener Klassen in Package Java Basics - Anfänger-Themen 3
StickToFreak Applet -> GameLoop + Listener / Listener funktioniert nicht Java Basics - Anfänger-Themen 22
D dialog listener? Java Basics - Anfänger-Themen 2
G Key Listener arbeitet Fehlerhaft Java Basics - Anfänger-Themen 6
C Listener und Events Java Basics - Anfänger-Themen 10
E Listener Java Basics - Anfänger-Themen 2
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
G jtable listener wenn zeile markiert wird Java Basics - Anfänger-Themen 6
S Action Listener Funktioniert nicht Java Basics - Anfänger-Themen 6
D Kombinationsfeld => Realisierung im Listener? Java Basics - Anfänger-Themen 2
G LIstener bei JavaMail Java Basics - Anfänger-Themen 2
G Context Listener des Apache Tomcat verwenden Java Basics - Anfänger-Themen 4
D Listener bzw. Interfaces Java Basics - Anfänger-Themen 7
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
G Window Listener? Java Basics - Anfänger-Themen 2
G 2 Listener wiedersprechen sich. Java Basics - Anfänger-Themen 12
A Gibt es standardmässig in Java einen Verzeichnis-Listener? Java Basics - Anfänger-Themen 6
S Mit Listener AWT Objekte ansprechen Java Basics - Anfänger-Themen 2
G Listener Java Basics - Anfänger-Themen 5
G Listener Problem Java Basics - Anfänger-Themen 3
B Wiso funktioniet das nicht? (Listener) Java Basics - Anfänger-Themen 6
H Key Listener macht nicht das was er soll Java Basics - Anfänger-Themen 4
T Wartet Klasse auf Listener? Java Basics - Anfänger-Themen 3
D Listener? Java Basics - Anfänger-Themen 2
S Listener auf JTextfeld Java Basics - Anfänger-Themen 8
B Kommunikation zwischen Klasse und Listener Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben