A JTextField est un composant dans le système standard Java GUI avec laquelle un utilisateur peut entrer une chaîne de mots dans un formulaire. En tant que composant de l'interface , la plupart des méthodes de JTextField impliquent la gestion des entrées de l'utilisateur, tandis que le contenu réel du champ sont traitées par le document associé du JTextField . Afin de limiter l'entrée d'un utilisateur , il suffit de prévenir le document de changer si la longueur de la chaîne d'entrée dépasse la longueur maximale que vous spécifiez. Instructions
1
Créer une nouvelle sous-classe de PlainDocument , par exemple, " LimitedDocument de classe étend PlainDocument . " Cette classe a besoin d'un terrain, un entier appelé " textLimit " qui stockera la longueur maximale autorisée.
2
Créer de nouveaux constructeurs qui acceptent une «limite» paramètre . Dans le corps du constructeur , appelez le constructeur de la super- classe via " super () ; " et définir le champ textLimit à la valeur du paramètre de limite
3
Remplacer le . insertString méthode héritée de PlainDocument , qui prend un entier , String et AttributeSet comme paramètres. Dans le corps de la méthode , vérifiez si la longueur du document actuel , accessible via getLength (), plus la longueur de la chaîne à insérer est inférieure à la valeur de textLimit . Si c'est le cas , appelez le insertString hérité (int , String, AttributeSet ) .
4
créer et ajouter une instance du nouveau type de document à votre JTextField , par exemple, " textField.setDocument ( nouveau LimitedDocument (x)) ; ", où " x " est le nombre maximal de caractères
.