Bonjour Les Amis
,
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 ?!?!?
Bonjour Les Amis
,
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é,![]()
Utilite plutot un JFormattedTextField avec le formatter approprie.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Partager