Bonjour tout le monde.
J'ai deux champs de type "JTextField", "champ1TextField" et "champ2TextField", je veux lorsque je saisis deux caractères dans le "champ1TextField" le curseur passe automatiquement au "champ2TextField" comme si je clique sur tabulation.
J'utilise la fonction suivante :
ça marche mais le problème c'est que lorsque j'écris les deux caratères dans "champ1TextField" le curseur ne passe pas automatiquement au champ2, mais si je tape une caractère le curseur passe (moi je veux que le curseur passe automatiquement après avoir taper le deuxième caractère dans champ1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 /** * Méthode permet de controler la saisie dans les zones de text. * @param textField */ private void limiterSaisie(final JTextField textField , final int longuerText){ textField.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent evt) { if (!Character.isDigit(evt.getKeyChar()) || ((JTextField)evt.getComponent()).getText().length()==longuerText ){ evt.setKeyChar((char)0); if("champ1TextField".equals(textField.getName())){ getChamp2TextField().requestFocusInWindow(); } } } }); }
J'espère que j'ai bien expliqué le problème.
Partager