Java - изменить фокус на нажатие клавиши - PullRequest
1 голос
/ 31 октября 2008

Я пишу Java-приложение для ввода данных с использованием Eclipse и SWT. Естественно, у него очень много текстовых объектов.

Я хотел бы, чтобы при вводе чего-либо в одно поле фокус автоматически переключался на следующее поле.

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 31 октября 2008
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);
        }
    }
});
1 голос
/ 01 ноября 2008

Возможно, вы также захотите взглянуть на интерфейс VerifyListener. Смотрите этот интересный пост в блоге для предостережения: http://eclipsenuggets.blogspot.com/2008/10/eclipse-bug-patterns-selfish-validation.html

1 голос
/ 31 октября 2008
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 голосов
/ 01 ноября 2008

Я предполагаю, что вы хотите изменить фокус после поле было заполнено. Я предлагаю использовать DocumentListener (или как там его называет SWT), чтобы получать уведомления об изменениях содержимого поля: если у него правильное количество символов, перейдите к следующему полю.

...