我在 SWT 中使用 Table 组件。每当我在此表中编辑一个值并按 Enter 键时,此值都会保存在此表的文本组件中。
但是,当我想输入两个用 TAB 分隔的单词时,编辑器会失去焦点并移动到下一个要编辑的单元格(就像在浏览器表单中按 Tab 键一样)。我不希望这种情况发生,并让我的用户在单词之间输入标签,而不会失去焦点。有人知道如何创建这个吗?
我已经尝试过使用 keyListener,但似乎这个监听器甚至没有处理 tab 事件
我在 SWT 中使用 Table 组件。每当我在此表中编辑一个值并按 Enter 键时,此值都会保存在此表的文本组件中。
但是,当我想输入两个用 TAB 分隔的单词时,编辑器会失去焦点并移动到下一个要编辑的单元格(就像在浏览器表单中按 Tab 键一样)。我不希望这种情况发生,并让我的用户在单词之间输入标签,而不会失去焦点。有人知道如何创建这个吗?
我已经尝试过使用 keyListener,但似乎这个监听器甚至没有处理 tab 事件
您可以将 a 添加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;
}
}
}
});
查看此示例代码片段。