Interface graphique java

Résolu
souhira_tn Messages postés 6 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 5 juin 2006 - 1 juin 2006 à 10:43
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 - 1 juin 2006 à 17:53
je suis entrain de faire des contrôles sur les valeurs des champs d'une interface graphique java .

je dois interdire d'accpeter toute valeur non numérique dans le champ "@source", comment faire pour rendre innaccessible les touches des lettres du clavier.
Merci de penser à m'aider !!

4 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
1 juin 2006 à 14:28
Tu peux aussi utiliser la méthode du paresseux, qui consiste à contrler les valeurs au moment de leur traitement. Si il y a problème, tu déclenche une exception et si il y a exception , tu capture et tu affiches un JOptionPane^^
3
HSylvio Messages postés 116 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 14 juin 2012
1 juin 2006 à 13:44
Bonjour,


Tu peux essayer ca:

public class RegexFormatter extends DefaultFormatter {
   private Pattern pattern;
   public RegexFormatter() {
      super();
      // TODO Auto-generated constructor stub
   }
   public RegexFormatter(String pattern) {
      super();
      this.pattern = Pattern.compile(pattern);
      // TODO Auto-generated constructor stub
   }
public Object stringToValue(String text) throws ParseException {
        Pattern pattern = getPattern();
        if (pattern != null) {
            Matcher matcher = pattern.matcher(text);
            if (matcher.matches()) {
                return super.stringToValue(text);
            }
            throw new ParseException("Pattern did not match", 0);
        }
        return text;
    }
   public Pattern getPattern() {
      return pattern;
   }
   public void setPattern(String pattern) {
      this.pattern = Pattern.compile(pattern);
   }
}

En changeant les patterns tu pourras choisir ce que l'uitlisateur a la droit de rentrer ou non.
0
souhira_tn Messages postés 6 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 5 juin 2006
1 juin 2006 à 17:41
Merci pour votre aide, ça fonctionne pour certains champs, mais pour le champ @ip dont la valeur doit être sous la forme x. x. x. x avec x est un entier compri entre 1 et 255 ça reste encore un problème pour controler la valeur introduite
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
1 juin 2006 à 17:53
soit tu récup la string de x.y.z.t et tu fé split() ce qui te renvoie un tableau de String et sur cahque string tu test si elle est numérique et copmprise entra 0 et 255
soit solution plus propre t utilise les expression régulières mais c plus cho à faire
0
Rejoignez-nous