SWT中如何通过回车设置遍历顺序
How to set traversal order by ENTER in SWT
在SWT中,我们可以使用下面的代码设置标签顺序:
composite.setTabList(new Control[]{button1, button3});
有没有办法把Tab键遍历改成Enter?我的应用程序连接到条形码 reader 并且在读取条形码
后它只支持 Enter 键
SWT中有一个TraverseListener
可以用来改变遍历键的效果
例如,可以使用遍历侦听器将下一个字段集中在 Enter 上,如下所示:
text.addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent event) {
if (event.detail == SWT.TRAVERSE_RETURN) {
event.doit = false;
// focus next control
}
}
});
将事件的 doit
标志设置为 false
会消耗事件并防止它引起默认操作 - 如果有的话。在多行文本字段中,Enter 键可能会开始一个新行,除非事件被侦听器使用。
在SWT中,我们可以使用下面的代码设置标签顺序:
composite.setTabList(new Control[]{button1, button3});
有没有办法把Tab键遍历改成Enter?我的应用程序连接到条形码 reader 并且在读取条形码
后它只支持 Enter 键SWT中有一个TraverseListener
可以用来改变遍历键的效果
例如,可以使用遍历侦听器将下一个字段集中在 Enter 上,如下所示:
text.addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent event) {
if (event.detail == SWT.TRAVERSE_RETURN) {
event.doit = false;
// focus next control
}
}
});
将事件的 doit
标志设置为 false
会消耗事件并防止它引起默认操作 - 如果有的话。在多行文本字段中,Enter 键可能会开始一个新行,除非事件被侦听器使用。