Question

Lorsque vous modifiez une cellule dans une table, la valeur n'est rendue permanente que si le focus est modifié ou si une touche est entrée (par exemple, si vous modifiez la valeur de la cellule de "abc" à "xyz" et fermez la fenêtre l'édition est perdue). Comment puis-je rendre l'édition permanente lorsque l'utilisateur arrête l'édition?

Je suppose que nous devons mettre à jour la valeur de la cellule car celle-ci est en cours de modification, mais je ne sais pas comment. Toute aide est appréciée!

Merci d'avance!

Était-ce utile?

La solution

Je configurerais un ActionListener sur la cellule pour enregistrer la valeur de la cellule dans une variable après chaque frappe de touche (en supposant que la cellule a le focus). Alors, peu importe ce qu'il advient des fenêtres, cette variable contiendra toujours le contenu de la cellule. Assez simple.

Autres conseils

// 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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top