0

我在 SWT 中使用 Table 组件。每当我在此表中编辑一个值并按 Enter 键时,此值都会保存在此表的文本组件中。

但是,当我想输入两个用 TAB 分隔的单词时,编辑器会失去焦点并移动到下一个要编辑的单元格(就像在浏览器表单中按 Tab 键一样)。我不希望这种情况发生,并让我的用户在单词之间输入标签,而不会失去焦点。有人知道如何创建这个吗?

我已经尝试过使用 keyListener,但似乎这个监听器甚至没有处理 tab 事件

4

1 回答 1

5

您可以将 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;
                }
            }
        }
    });

查看示例代码片段。

于 2012-09-17T07:29:09.957 回答