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

Signaler
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
27 juillet 2007
-
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
27 juillet 2007
-
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 !

5 réponses

Messages postés
26
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
10 mai 2007

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.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
97
Utilise un JFormattedField, il est fait pour cà.
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
27 juillet 2007

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
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
27 juillet 2007

Merci tu me sauve !!!
Messages postés
23
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
27 juillet 2007

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