Comment filtrer les entrées d'un JTextField ? [Résolu]

Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Dernière intervention
27 juillet 2007
- 6 avril 2007 à 18:41 - Dernière réponse :
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Dernière intervention
27 juillet 2007
- 10 avril 2007 à 17:38
Tout est dans le titre...
Comment filtrer les entrées d'un JTextField ? Je ne veux en fait que des caractères minuscule, majuscule et numérique

merci a tous !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
26
Date d'inscription
samedi 4 janvier 2003
Dernière intervention
10 mai 2007
- 10 avril 2007 à 17:17
3
Merci
Le Pb avec le JFormattedTextField est qu'il ne formatte la saisie que lorsqu'il perd le focus.

Ce que tu peux faire, c'est utiliser un Document qui n'accepte que ce que tu veux:
class MyDocument extends PlainDocument {

        /**
         * {@inheritDoc}
         * 
         * @see javax.swing.text.PlainDocument#insertString(int,
         *      java.lang.String, javax.swing.text.AttributeSet)
         */
        @Override
        public void insertString(int offs, String str, AttributeSet a)
                throws BadLocationException {
            if (
            // Le format que doit respecter la chaine
            str.matches("[a-zA-Z0-9]+") && (
            // La longueur maximale
                    getLength() + str.length()) <= 5) {
                super.insertString(offs, str, a);
            } else {
                // Toolkit.getDefaultToolkit().beep();
            }
        }
    }

Ensuite, tu fais:
JTextField textField = new JTextField();
textField.setDocument(new MyDocument());


Voilà.
Bien sûr, tu peux améliorer MyDocument en rendant modifiable la longueur max ainsi que l'expression régulière qui doit être respectée.

Merci Fifan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Fifan
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 6 avril 2007 à 19:35
0
Merci
Utilise un JFormattedField, il est fait pour cà.
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Dernière intervention
27 juillet 2007
- 6 avril 2007 à 20:45
0
Merci
Ouaip mais je ne comprend pas son utilisation, n'aurais tu pas un tuto à ce sujet ?
J'ai besoin de donner une taille a mon Jtextfield or le JformattedField je crois que on ne peux pas....?

merci de ton aide
Commenter la réponse de Abasedebasse
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Dernière intervention
27 juillet 2007
- 10 avril 2007 à 17:35
0
Merci
Merci tu me sauve !!!
Commenter la réponse de Abasedebasse
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Dernière intervention
27 juillet 2007
- 10 avril 2007 à 17:38
0
Merci
J'ai une question par contre...

Comment marche ce bout de code ? je ne comprend pas comment marche le Super ? en effet si le format est bon on rappelle le meme test ....je suis perdu

merci
Commenter la réponse de Abasedebasse

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.