:lol: Bonjour Les Amis :lol: ,
je voulais savoir est ce que c est possible d utiliser dans mon JFrame , un JTextField qui accepte un nombre decimale qui a un maximum de 3 nombres par exemple, c est a dire compris entre 1 et 999 ?!?!?
Version imprimable
:lol: Bonjour Les Amis :lol: ,
je voulais savoir est ce que c est possible d utiliser dans mon JFrame , un JTextField qui accepte un nombre decimale qui a un maximum de 3 nombres par exemple, c est a dire compris entre 1 et 999 ?!?!?
bonsoir,
je crois, qu'il doit y avoir une méthode nommée (int) length associée à jTextField, qui permet de retourner le nombre de caractères d'un champ texte.
tu mets une condition genre, :
if( TextField.length < 2)
/* Instruction */
else
/* Instruction */
(faire en sorte que l'User puisse rentrer qu'un nombre a 3 chiffres)
y doit y avoir aussi une méthode : (boolean) IsNumeric. qui fait un test numérique sur la chaîne de caractères du champ JTextField ...
Essaie de voir de ce coté, :mouarf:
Utilite plutot un JFormattedTextField avec le formatter approprie.
merci pour l aide les amis
le JTextField est bien utile, mais je veut une methode pour que l'utilisateur ne puisse rentrer plus que 3 nombre dans ce JTextField, c est a dire dés qu il atteint 3 nombres, il passe au JTextField suivant
le code suivant marche mais on peut entrer n importe quel nombre de digits sauf qu on ne prend en consideration que les 3 derniers
Code:
1
2
3
4
5
6 NumberFormat format2 = NumberFormat.getInstance(); format2.setParseIntegerOnly(true); format2.setMinimumFractionDigits(1); format2.setMaximumFractionDigits(3); jTextField1 = new JFormattedTextField(format1);
Alors déjà tu peux empêcher que plus de 3 nombres soient saisis avec un formatter maison. Ensuite tu peux mettre un listener ou utiliser un événement ou modifier le code du formatter pour que dès que plus de 3 chiffres soient saisis, tu passes au champs suivant (avec un requestFocus() ?).
En général le JFormattedTextField foncionne bien avec un PropertyChangeListener et la propriété "value" mais dans ton cas ca n'aide pas car la notifcation a lieu après coup (par exemple quand le champs perd le focus). Il te faut donc chercher un moyen plus en amont de faire la notification. D'où le fait que ca peut être interressant si c'est le formatter ou le document qui fait cette même notification