TextField n'accepte que des nombres en java

sfayna06 Messages postés 17 Statut Membre -  
 Utilisateur anonyme -
je suis en cours de faire une application en java
SVP donner moi le code java pour qu'un TextField n'accepte que des nombres (0-9) si non affiche un message d'erreur
et merci,
A voir également:

1 réponse

Utilisateur anonyme
 
Salut,

Si ton JTextField ne doit contenir que les chiffres 0 à 9, c'est donc que ce sont des entiers.
Comme ce sont des entiers, tu vas devoir les convertir soit en byte, en short en int, en long ou en big...

Pour ce faire, le plus simple c'est (supposons qu'on utilise int).

Exemple:

int monEntier = 0;
try
         {
            monEntier = Integer.parseInt(leJTF.getText());
// s'il ne contient que des chiffres (0 à 9) c'est ok sauf si les limites int sont dépassées
// sinon une exception est levée
         }
             catch(NumberFormatException nfe)
            {
               System.out.println("NON NUM. OU TROP LONG   " + nfe.toString());
// c'est malheureusement la même exception pour les 2 cas.
               // demander l'entrée d'une nouvelle valeur
            }

               System.out.println("monEntier = " + monEntier);




Une autre méthode pour faire ce contrôle serait d'utiliser d'abord les expréssions régulières et seulement si le résultat est correcte du point de vue numérique, parser:
S'il n'y a pas l'exception NumberFormatException, on ne dépasse pas les limites...
Si la valeur est trop grande, ou trop petite pour int >>> erreur.

Cordialement,

Dan
1