Comment puis-je obtenir la longueur d'une component swing jtextfield du contenu que l'utilisateur tape?
Component swing jtextfield a un keyTyped événement, mais il semble qu'à l'époque, il déclenche le contenu de la cellule n'ont pas encore changé.
À cause de cela .longueur() est toujours si mal à lire ici.
Il doit y avoir un moyen simple d'obtenir la longueur qu'elle apparaît à l'utilisateur après une course de touche?
OriginalL'auteur Allain Lalonde | 2008-12-30
Vous devez vous connecter pour publier un commentaire.
Ce n'est probablement pas la manière optimale (et ça fait un moment), mais dans le passé, j'ai ajouté un DocumentListener à l'component swing jtextfield et sur les événements (insérer, mettre à jour, supprimer) I:
Qui renvoie la longueur totale du contenu du champ de texte.
OriginalL'auteur Sean Bright
Cela peut être lié à ce "bug" (ou plutôt "fonction")
Une solution possible est d'écouter un Document associé
OriginalL'auteur VonC
KeyEvent
s sont de bas niveau des événements qui ne sont pas approprié ici [qui sonne familier].Comment le
JTextField
système de savoir qu'un caractère a été tapé? Grâce à une clé tapé événement (IIRC, fait au travers de la PL&F). L'événement est d'obtenir expédiés vers le système de port d'écoute avant votre auditeur? Il pourrait ou ne pourrait pas faire.Dans ce cas, vous voudrez probablement aller à la
Document
et ajouter un plus au niveau de l'écouteur. Avec Swing c'est une bonne idée d'aller pour le modèle de début de la 'J' interfaces de classes sont incohérentes. Si vous êtes l'interception de données d'entrée, alors vous voudrez probablement un modèle personnalisé (ou, dans le cas deDocument
unDocumentFilter
).OriginalL'auteur Tom Hawtin - tackline
Utiliser ce code:
OriginalL'auteur Akhil P M Paruthikudiyil