TextField n'accepte que des nombres en java
sfayna06
Messages postés
17
Statut
Membre
-
danimo -
danimo -
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,
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,
1 réponse
-
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