2009-06-17 6 views
2

ändern, wenn Sie den Wert eine Zelle in einem jtable bearbeiten nur permanent gemacht wird, wenn der Fokus geändert wird oder wenn ein Treffer (zum Beispiel eingeben, wenn Sie den Zellenwert von „abc“ ändern "xyz" und schließe das Fenster, die Bearbeitung ist verloren gegangen). Wie mache ich die Bearbeitung dauerhaft, wenn der Benutzer die Bearbeitung beendet?Wie Standard-Stop bearbeitet Verhalten in jtable

Ich denke, wir haben den Zellenwert zu aktualisieren, da der Zellenwert wird editierte werden, aber ich bin nicht sicher, wie. Jede Hilfe wird geschätzt!

Vielen Dank im Voraus!

Antwort

1

würde ich Setup eine Action auf der Zelle, die den Wert der Zelle mit einer Variablen speichert nach jedem Tastendruck (vorausgesetzt, die Zelle des Fokus hat). Unabhängig davon, was mit den Fenstern geschieht, enthält diese Variable immer noch das, was sich gerade in der Zelle befindet. Ziemlich einfach.

2
// tell JTable to stop editing and save any changes when the table 
// loses focus. This means edits will be saved when clicking on 
// another component, eg: button. 
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); 
+0

Ihre Lösung versucht, aber nicht funktioniert hat – Alex