2008-10-05 4 views
1

J'ai appliqué un Formatter à un JFormattedTextField en utilisant un FormatterFactory, lorsqu'un utilisateur clique dans le champ de texte Je souhaite sélectionner le contenu. Un écouteur de mise au point ne fonctionne pas comme prévu car le formateur est appelé, ce qui provoque la réinitialisation de la valeur, ce qui désélectionne finalement le contenu des champs. Je pense que ce qui se passe est qu'après que la valeur change, le Caret se déplace vers la position la plus à droite et cela désélectionne le champ.Sélection annulée par le formateur

Est-ce que quelqu'un a des connaissances sur la façon de contourner cela et de sélectionner le contenu des champs correctement?

Répondre

2

Solution de contournement rapide et sale est d'utiliser EventQueue.invokeLater de votre focusListener.

EventQueue.invokeLater(new Runnable(){ 
    public void run() { yourTextField.selectAll();} 
}); 
1

quel jdk utilisez-vous - est-ce une erreur?

Questions connexes