# mehrere Action Buttons mit einer ActionListener Methode



## Jule00 (7. Aug 2006)

Hallo,
ich hätte mal folgende Frage. Ich habe in einer Swing Gui ein Formular Panel mit 4 Feldern nach folgendem Aufbau:

Name des Feldes ----- Wert ---- EditButton
Name des Feldes ----- Wert ---- EditButton
Name des Feldes ----- Wert ---- EditButton
Name des Feldes ----- Wert ---- EditButton

Es soll also möglich sein, über den Edit Button, das Textfeld "Wert" aktiv zu setzen, um es zu editieren.

Muss ich nun jedem EditButton eine eigene Actionlistener Methode zuweisen, oder gibt es eine Möglichkeit, dass sich die 4 ActionButtons einen Actionlistener teilen. Hintergrund dieser Frage ist die Tatsache, dass 
die Logik  immer gleich bleibt, nur bezieht sich das halt immer auf das entsprechende Feld.

Vielen Dank
Julia


----------



## Caffè Latte (7. Aug 2006)

Hi,

http://www.java-forum.org/de/viewtopic.php?t=35201

Hoffe es hilft ...


----------



## Jule00 (7. Aug 2006)

danke, das ist schonmal was.
aber was mache ich nun, wenn die buttons alle gleich "Edit" heißen?


----------



## SlaterB (7. Aug 2006)

irgendwie musst du die Buttons ja unterscheiden,
notfalls mit 
if (actionevent.getSource() == button1) {
..
} else if ..
..

aber schöner wäre wahrscheinlich, in einer for-Schleife jedem Button einen eigenen Listener zuzuordnen,
in einer Schleife Code zu 'wiederholen' ist kein Verbrechen


----------



## Caffè Latte (7. Aug 2006)

Hi,

mehrere gleichnamige Buttons geht doch gar nicht; nur die Beschriftung ist immer gleich. Also kannst du sie ja am Instanznamen unterscheiden.


----------



## michaelb (7. Aug 2006)

Hi,
du kannst aber auch ActionCommand setzen.

```
button.setActionCommand("actionCommand");
```
und dann im Listener abrufen!
Gruß Michi


----------



## Jule00 (7. Aug 2006)

danke für die vielen Antworten.
ich probiere das alles mal aus.

gruß
jule


----------



## Leroy42 (8. Aug 2006)

SlaterB hat gesagt.:
			
		

> aber schöner wäre wahrscheinlich, in einer for-Schleife jedem Button einen eigenen Listener zuzuordnen,
> in einer Schleife Code zu 'wiederholen' ist kein Verbrechen



Ist schon richtig, aber dann gibt es Schwierigkeiten, innerhalb
der actionPerformed - Methode zu unterscheiden, welcher Button gemeint ist.
Man kann z.B. nicht die Laufvariable

(Stichwort: Nur final-Parameter in inneren Klassen)


----------

