2012-09-17 74 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,謝謝您的意見。更新了答案。 –