Vérifier le contenue d'un jtextefiled

Résolu
gadour_esz Messages postés 67 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 24 mai 2007 - 17 avril 2007 à 16:29
gadour_esz Messages postés 67 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 24 mai 2007 - 17 avril 2007 à 17:32
salut,
je prépare un programme qui demmande à l'utulisateur d'introduire un entier positif
à partir d'un jtextefiled
le problème que l'utulisateur peut introduire n'importe quoi et passer à la fenetre suivante
Comment je puisse vérifier le type de donné qu'il a introduit pour lui avertir en
cas qu'il introduit une chaine de caractère ou un entier négatif ?
Merci pour votre aide

5 réponses

bensFouad Messages postés 39 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 11 mai 2008
17 avril 2007 à 16:54
Salut,
Pourquoi pas utiliser les expréssions régulières:

import java.util.regex.* ;
......ton code ici....
String content = jtextField.getText();
if(!content.matches("/d+")){
System.out.println("veuillez entrez un entier positif");
}

ca c'est un exemple, tu peux faire plein truc avec lex expressions régulières
3
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
17 avril 2007 à 16:40
Yopla,

deux solutions :
- quand tu cique sur ton boutton pour passer sur la page suivante,tu fais des vérifs et si ca plante tu reste sur ta fenetre en affichant le message d erreur
- tu mets un listener tu ton JTextField et avec un addFocusListener tu regarde quand le focus et perdu et tu fais ta vérif !!

++ Toinou
0
gadour_esz Messages postés 67 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 24 mai 2007
17 avril 2007 à 17:18
salut,
merci pour votre code :
 public void verifier(){
        String content = this.t1.getText();
        if(!content.matches("/d+")){
            System.out.println("veuillez entrez un entier positif");
        }
       else {System.out.println("bien");
mais pour tout paramètre entré  (entier ou caractère)
toujour la 1er condition est verifiée :
il s'affiche veuillez entrez un entier positif
Merci
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
17 avril 2007 à 17:23
Salut,

sinon si tu veux faire le teste directement sur la saisie tu peux redef le document d'insertion :

public class DigitDocument extends PlainDocument {
    private int maxDigits = 5;
   
    public DigitDocument(int maxDigits){
        super();
        this.maxDigits = (maxDigits <= 0) ? 5 : maxDigits;
    }
   
    public void insertString(int offs, String str, AttributeSet a)  throws BadLocationException {
        if (str == null)
            return;
        if((str.length() + getLength()) > maxDigits) {
            Toolkit.getDefaultToolkit().beep();
            return;
        }
        char[] digits = str.toCharArray();
        str = "";
        for(char c : digits)
            if(!Character.isDigit(c))
                Toolkit.getDefaultToolkit().beep();
            else str += c;
        super.insertString(offs, str, a);
    }
}

pour l'utilisation :
JTextField txt = new JTextField();
txt.setDocument(new DigitDocument(10));

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0

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

Posez votre question
gadour_esz Messages postés 67 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 24 mai 2007
17 avril 2007 à 17:32
salut,
escusez moi mais vous m'avez pas bien compris .
le problème est de verifier le paramètre introduit est bien un entier positif
et en tous cas merci
0
Rejoignez-nous