# ActionListener und JTextField



## jean20 (9. Jun 2005)

Hallo,

wie kann man ein Ereignis aktivieren, der auftreten soll wenn ein JTextField verändert wird.
Einfach neuen ActionListern machen, funktioniert nicht.
Gibt es dafür einen andren Listner?

Danke für die Hilfe
Gruß
Jean


----------



## Wildcard (9. Jun 2005)

KeyListener?


----------



## jean20 (9. Jun 2005)

ne, das klappt auch nicht


----------



## Wildcard (9. Jun 2005)

warum nicht?


----------



## L-ectron-X (9. Jun 2005)

Wildcard hat gesagt.:
			
		

> warum nicht?


Jo! :lol: 

@jean20: Wenn du hier nur alles brockenweise hinwirfst, können wir uns auf diese Weise gerne noch 2 Wochen unterhalten. :roll: Werde etwas konkreter! Zeit ist kostbar...


----------



## jean20 (9. Jun 2005)

wenn ich den inhalt des feldes ändere und es wieder verlasse , dann springt der Debugger nicht in den event. Ein mal habe ich das so:


```
jTextField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
            	try {
                    valueChanged();
                } catch (Exception e1) {
                }
            }
        });
```


und das selbe noch mal mit KeyListner


----------



## L-ectron-X (9. Jun 2005)

Mit einem KeyListener sollte das gehen. Welche Methode hast du überschrieben?
Der ActionListener ist dafür nicht geeignet, weil er beim Drücken auf die Enter-Taste ausgelöst wird, wenn das Textfeld den Focus hat.


----------



## Wildcard (9. Jun 2005)

Wo wir gerade dabei sind:

```
catch (Exception e1) {}
```
Sowas macht man NIE!
Exceptions immer so spezifisch wie möglich fangen und mindestens mit 

```
e1.printStackTrace()
```
den StackTrace ausgeben lassen!


----------



## jean20 (9. Jun 2005)

ach so, nur bei Enter...

Habe das noch mal mit dem KeyLstner ausprobiert. Jetzt geht das!! Danke!! Habe davor die falsche Methode überschrieben


----------



## jean20 (9. Jun 2005)

danke für den Tipp mit Exceptions...

noch eine Frage, welche Methoden eignet sich besser um ein Even nur bei Textänderung aufzurufen.
In diese drei Methoden des KeyListner wird auch schon früher reingegangen, wenn z.B. der cursor bewegt wird


----------



## jean20 (9. Jun 2005)

z.B. ein event auslösen, den die Änderung durchgeführt wurde und das Feld verlassen wurde


----------



## Wildcard (9. Jun 2005)

Man kann einen DocumentListener verwenden, oder (je nach Anwendung) einen FocusListener auf das TextFeld setzen, und nur bei FocusLost Änderungen aktualisieren.
In den meisten Fällen ist der KeyListener eine ausreichende und einfache Möglichkeit.


----------

