Perdre le focus dans une JTable

asari29 Messages postés 21 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 18 décembre 2009 - 16 déc. 2009 à 14:34
jennydjen Messages postés 11 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 12 janvier 2011 - 12 févr. 2010 à 09:39
Bonjour à tous,

Je tente d'apprivoiser les JTable dans l'API Swing et rencontre quelques problèmes...

J'ai hérité d'un projet java qui s'interface avec un IHM Swing dans laquel on retrouve entre autre une JTable sur la fenêtre principale.

Mon problème est le suivant:

-Lorsque je clique sur une cellule, j'entre en mode édition.
- Lorsque je clique sur une autre cellule, cette dernière entre en mode édition et l'ancienne cellule redevient retrouve son état "normal"
- Problème: Lorsque je clique ailleurs que sur la JTable et que une cellule est en mode édition, elle reste en mode édition

Ma question est donc la suivante, comment faire en sorte que ma cellule rentre en mode normal lorsque je clique ailleurs (comportement qui me semble naturel).

Je précise que j'utilise tous les modèles par défaut dans la JTable.

Si quelqu'un pouvait me mettre sur la voie...

Merci d'avance!

2 réponses

asari29 Messages postés 21 Date d'inscription mercredi 21 novembre 2007 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 16:01
Je me permet d'approfondir la description de mon problème et en même temps de le relancer.

Ce qu'il me semble avoir compris c'est que lorsque je clique sur une cellule, la transmet le focus au component editor qui est en l'occurrence un JTextField .

Le problème, ce que je ne comprend pas, c'est que lorsque que je clique sur un autre élément de l'IHM comme un bouton, le jtextfield ne perd pas le focus...

Quelqu'un aurait une ou une explication?

Merci d'avance!
0
jennydjen Messages postés 11 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 12 janvier 2011
12 févr. 2010 à 09:39
Bonjour,

Peut être en mettant cette ligne a ta JTable ca fonctionnerait :

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

Voila j'espère que ça t'aideras
0
Rejoignez-nous