# JTable Edit cell edit end erzwingen...



## Oli (28. Sep 2009)

Hi,

ich hab folgendes Problem:

In meiner Applikation gibts eine Tabelle. Dort kann der User Änderungen vornehmen und über einen Button in eine DB speichern. 
Wenn man den Inhalt einer Zelle ändert und "Enter" drückt, so ist der Wert im TableModel gespeichert. Nicht aber, wenn man den Wert ändert und mit der Maus auf den Button zum Speichern drückt.
Wie kann ich dem TableModel beibringen, das der Wert beim Verlieren des Fokus der Wert trotzdem übernimmen wird?

Danke Oli


----------



## SlaterB (28. Sep 2009)

table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);


----------



## Oli (28. Sep 2009)

Hey, vielen Dank. Klappt super.
Hast du einen Link zu einer Liste dieser ClientProperties ?

Grüße Oli


----------



## SlaterB (28. Sep 2009)

war mir bisher auch nicht bekannt, aber du du anscheinend google nicht magst muss ich das wohl tun:
Google
->
Swing's Client Properties Summary Table : Client PropertySwingJava Tutorial


----------



## Verjigorm (28. Sep 2009)

Die "sauberere" Variante ist ein FocusListener, mit focusLost und darin 
	
	
	
	





```
myTable.getCellEditor().stopCellEditing();
```


----------



## Ebenius (28. Sep 2009)

Verjigorm hat gesagt.:


> Die "sauberere" Variante ist ein FocusListener ...


Warum sollte es sauberer sein, die bereits vorhandene und getestete Funktionalität selbst zu implementieren?

Ebenius


----------



## SlaterB (28. Sep 2009)

so ein String ist schon ziemlich schlapp, 
eine neue Java-Version könnte die JTable so ändern, dass sie diesen Property gar nicht mehr kennt und nichts tut, 
da gibts nichtmal deprecated zu erkennen

jeder Tippfehler führt zum selben Ergebnis, OO ist das nicht gerade


----------



## Ebenius (28. Sep 2009)

SlaterB hat gesagt.:


> jeder Tippfehler führt zum selben Ergebnis, OO ist das nicht gerade


Da stimme ich erstmal zu. Mit der selben Begründung würde man allerdings beispielsweise PropertyChangeListener ablehnen müssen. Ich verstehe auch, dass hier eine get- und eine set-Methode schöner wären. Ich verstehe aber nicht, warum die Eigenimplementation besser sein soll. ;-)

Ebenius


----------

