2009-06-17 5 views
2

Lorsque vous modifiez une cellule dans un jtable, la valeur n'est rendue permanente que si le focus est modifié ou si vous tapez enter (par exemple si vous changez la valeur de cellule de "abc" à "xyz" et ferme la fenêtre l'édition est perdue). Comment puis-je rendre l'édition permanente lorsque l'utilisateur arrête d'éditer?Comment modifier le comportement d'arrêt d'arrêt par défaut dans jtable

Je suppose que nous devons mettre à jour la valeur de la cellule lorsque la valeur de la cellule est en cours d'édition, mais je ne sais pas comment. Toute aide est appréciée!

Merci d'avance!

Répondre

1

Je voudrais installer un ActionListener sur la cellule qui enregistre la valeur de la cellule à une variable après chaque frappe (en supposant que la cellule a le focus). Ensuite, peu importe ce qui arrive aux fenêtres, cette variable contiendra toujours ce qui était présent dans la cellule. Assez simple.

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

J'ai essayé votre solution mais je n'ai pas travaillé – Alex