按TAB键会失去对小部件的关注

时间:2012-09-17 06:59:48

标签: java eclipse swt eclipse-rcp jface

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

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

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

1 个答案:

答案 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示例代码段。