2012-02-21 59 views
0

我想使用空格鍵來展開/摺疊節點。它對於輸入非常適用,並且它對空間不起作用(只需選擇/取消選擇節點)。這裏是我的代碼:樹。空格鍵熱鍵

final Action actionEnter = new ShortcutAction("Select node", 
      ShortcutAction.KeyCode.ENTER, null); 
    final Action actionSpace = new ShortcutAction("Select node1", 
      ShortcutAction.KeyCode.SPACEBAR, null); 

    treePanel.addActionHandler(new Action.Handler() { 

     @Override 
     public void handleAction(Action action, Object sender, Object target) { 
      if (action==actionEnter || action==actionSpace){ 
       Object curId = tree.getValue(); 
       expandCollapse(curId); 
      } 
     } 

     @Override 
     public Action[] getActions(Object target, Object sender) { 
      return new Action[] { actionEnter, actionSpace }; 
     } 
    }); 

什麼是空間熱鍵問題?

+0

如果您在調試器中運行此操作,按下空格鍵時會不會觸發handleAction代碼? – 2012-02-21 18:13:41

+0

不......它沒有。只有當輸入按下時 – 2012-02-22 18:38:04

回答

0

添加一個KeyListener到樹上,然後你可以處理所有的事件。

+0

沒有這樣的方法。 – 2012-02-21 18:57:23

+0

這不是一種方法。 – 2012-02-21 19:12:19

+0

你能提供一個小例子嗎? – 2012-02-21 19:58:04