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

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

Fifan 26 Messages postés samedi 4 janvier 2003Date d'inscription 10 mai 2007 Dernière intervention - 10 avril 2007 à 17:17
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Fifan
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 avril 2007 à 19:35
0
Utile
Utilise un JFormattedField, il est fait pour cà.
Commenter la réponse de cs_DARKSIDIOUS
Abasedebasse 23 Messages postés dimanche 3 avril 2005Date d'inscription 27 juillet 2007 Dernière intervention - 6 avril 2007 à 20:45
0
Utile
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
Abasedebasse 23 Messages postés dimanche 3 avril 2005Date d'inscription 27 juillet 2007 Dernière intervention - 10 avril 2007 à 17:35
0
Utile
Merci tu me sauve !!!
Commenter la réponse de Abasedebasse
Abasedebasse 23 Messages postés dimanche 3 avril 2005Date d'inscription 27 juillet 2007 Dernière intervention - 10 avril 2007 à 17:38
0
Utile
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.