2012-09-17 48 views
0

我在SWT中使用表组件。无论何时编辑此表中的值并按下回车键,此值都将保存在此表中的文本组件中。按TAB键失去焦点部件

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

我媒体链接使用KeyListener的尝试,但似乎标签事件甚至没有此侦听

回答

4

处理你可以一个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示例代码片段。

+2

你不应该发布一个没有任何细节的链接的内容。如果地址无法访问,你的答案是毫无价值的:[答案只是包含其他地方的链接,真的是“好答案”?](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain -links-elsewhere-really-good-answers) – Baz

+0

感谢Alex Stybaev的建议,但似乎我的表格,列,小部件没有实现TraverseListener接口 – bvanvelsen

+0

@Baz,谢谢您的意见。更新了答案。 –