Comment filtrer les entrées d'un JTextField ?

Résolu
Abasedebasse Messages postés 23 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 27 juillet 2007 - 6 avril 2007 à 18:41
Abasedebasse Messages postés 23 Date d'inscription dimanche 3 avril 2005 Statut Membre 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 !

5 réponses

Fifan Messages postés 26 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 10 mai 2007
10 avril 2007 à 17:17
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.
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
6 avril 2007 à 19:35
Utilise un JFormattedField, il est fait pour cà.
0
Abasedebasse Messages postés 23 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 27 juillet 2007
6 avril 2007 à 20:45
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
0
Abasedebasse Messages postés 23 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 27 juillet 2007
10 avril 2007 à 17:35
Merci tu me sauve !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Abasedebasse Messages postés 23 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 27 juillet 2007
10 avril 2007 à 17:38
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
0
Rejoignez-nous