我在SWT中使用Table组件。每当我在此表中编辑一个值并按Enter键时,此值将保存在此表的文本组件中。
但是当我想在它们之间输入两个用TAB分隔的单词时,编辑器会失去焦点并转到下一个要编辑的单元格(比如在浏览器表单中按Tab键)。我不希望这种情况发生,让我的用户在单词之间输入标签而不会丢失焦点。任何人都知道如何创建这个?
我已经尝试过使用keyListener,但似乎这个侦听器甚至没有处理tab事件
答案 0 :(得分:5)
您可以在textField中添加TraverseListener
。
text.addTraverseListener(new TraverseListener () {
public void keyTraversed(TraverseEvent e) {
switch (e.detail) {
case SWT.TRAVERSE_TAB_NEXT:
case SWT.TRAVERSE_TAB_PREVIOUS: {
e.doit = false;
}
}
}
});
查看this示例代码段。