# Warten auf Button



## shadow432 (31. Jan 2010)

Hy Leute habe das ganze Internet durch geguckt aber leider nichts gefunden!

```
txt_anz= new JTextField("\nWelches Element wollen Sie?");
txt_anz.setBounds(10, 300, 300, 20);
add (txt_anz);
objecta();
//Warten auf Button
txt_anz= new JTextField("Das " + a + ". Element lautet: " + Liste.get(a));
txt_anz.setBounds(10, 380, 500, 20);
add (txt_anz);
```

Bei dem Kommentar will ich ein Befehl einfügen, das er auf einen Button warten in objecta() liegt.
Hat einer ne Idee??


----------



## SlaterB (31. Jan 2010)

man wartet nicht einfach so in der Mitte einer Methode, schon gar nicht in einer GUI zu beliebigen Zeiten irgendwo was einfügen,

jede Methode sollte für sich abgeschlossen sein,
was immer die aktuelle da auch macht, sie heißt vielleicht bereiteGUISituationXY() vor, sie sollte in 1 ms fertig sein,
wer ruft sie eigentlich wann auf?

gerne kann aber in diese fertigen GUI-Situation ein Button vorhanden/ aktiviert sein, 
und wenn den jemand drückt, dann wird dessen ActionListener aktiv, wie das eben der Fall ist bei Buttons,

in diesem Listener kommt dann neuer Code dran, da kann z.B. die GUI geändert werden, was allerdings gar nicht so leicht ist,
jedenfalls ist man dann ganz woanders, wieder in einer neuen für sich abgeschlossenen Methode, nicht in der Mitte einer früheren


----------



## madboy (31. Jan 2010)

shadow432 hat gesagt.:


> Hy Leute habe das ganze Internet durch geguckt aber leider nichts gefunden!


Zumindest KIPO solltest du gefunden haben, glaubt man gewissen Politikern... (sorry, nicht sehr geschmackvoll aber musste raus ;-) )



shadow432 hat gesagt.:


> Bei dem Kommentar will ich ein Befehl einfügen, das er auf einen Button warten in objecta() liegt.
> Hat einer ne Idee??


Normalerweise wartet man nicht auf einen Button, sondern führt eine Aktion aus, wenn der Button gedrückt wurde.
Pseudocode:

```
...
JButton button = ...;
button.macheAktionenListenerDazu(dieseInstanz);
...

public void ueberschriebeneMethodeVonAktionenListener() {
  txt_anz.setText(/*Text, der gesetzt werden soll.*/);
}
```


----------



## shadow432 (31. Jan 2010)

Ok danke für die antworten dann werde ich mal mein programm umschreiben!!???:L


----------

