【发布时间】:2008-10-31 12:40:42
【问题描述】:
我正在使用 Eclipse 和 SWT 编写用于数据输入的 Java 应用程序。自然,它有很多 Text 对象。
我希望发生的是,当用户在一个字段中输入内容时,焦点会自动更改为下一个字段。
提前致谢
【问题讨论】:
标签: java eclipse focus swt traversal
我正在使用 Eclipse 和 SWT 编写用于数据输入的 Java 应用程序。自然,它有很多 Text 对象。
我希望发生的是,当用户在一个字段中输入内容时,焦点会自动更改为下一个字段。
提前致谢
【问题讨论】:
标签: java eclipse focus swt traversal
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);
}
}
});
【讨论】:
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);
}
}});
【讨论】:
您可能还想看看 VerifyListener 接口。不过,请参阅这篇有趣的博客文章以获取警告:http://eclipsenuggets.blogspot.com/2008/10/eclipse-bug-patterns-selfish-validation.html
【讨论】:
我假设您想在字段被填充后 更改焦点。我建议使用 DocumentListener(或任何 SWT 调用它)来通知字段内容的更改:如果它具有正确数量的字符,则跳转到下一个字段。
【讨论】: