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 键可能会开始一个新行,除非事件被侦听器使用。