2008-10-31 9 views
1

J'écris une application Java pour la saisie de données en utilisant Eclipse et SWT. Naturellement, il y a beaucoup d'objets Texte. Ce que je voudrais arriver, c'est que lorsque l'utilisateur saisit quelque chose dans un champ, la mise au point passe automatiquement au champ suivant.Java - changer de focus sur la touche

Merci à l'avance

Répondre

2
final Text textBox = new Text(shell, SWT.NONE); 
textBox.addKeyListener(new KeyAdapter() { 
    public void keyPressed(KeyEvent e) { 
     if (x.getText().length() == 1); { 
      x.traverse(SWT.TRAVERSE_TAB_NEXT); 
     } 
    } 
}); 
+0

vous pouvez formater correctement votre réponse – WVrock

1
final Text textBox = new Text(shell, SWT.NONE); 
textBox.addKeyListener(new KeyAdapter() { 

    public void keyPressed(KeyEvent arg0) { 
     if (textBox.getText().equals("") == false) { 
      textBox.traverse(SWT.TRAVERSE_TAB_NEXT); 
     } 
    }}); 
0

Je suppose que vous voulez changer l'orientation après le terrain a été rempli. Je suggère d'utiliser un DocumentListener (ou quel que soit l'appel SWT) pour être averti des modifications apportées au contenu du champ: s'il a le bon nombre de caractères, sautez au champ suivant.

Questions connexes