2012-02-21 76 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