Vérifier le contenue d'un jtextefiled [Résolu]

Signaler
Messages postés
67
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
24 mai 2007
-
Messages postés
67
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
24 mai 2007
-
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

Messages postés
39
Date d'inscription
lundi 16 avril 2007
Statut
Membre
Dernière intervention
11 mai 2008

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
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
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
Messages postés
67
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
24 mai 2007

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
Messages postés
5351
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
17 août 2020
97
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
Messages postés
67
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
24 mai 2007

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