我需要摆脱用于JTree的TransferHandler类的标准键盘操作处理程序。
JTree实现访问级机制,该机制控制节点是否可以删除。通过使用键盘组合(如shift-delete)可以忽略此行为,该组合允许每个用户从JTree中删除任何节点。

基本上,我需要TransferHandler提供一种方便的方式来移动和排序节点(DnD)。而已。

提前致谢。

最佳答案

编辑:我来晚了,上面已经建议过lbalazscs。

您可以尝试如下操作:

JTree tree = new JTree();
tree.setDragEnabled(true);
tree.setDropMode(DropMode.ON_OR_INSERT);
tree.setTransferHandler(new YourTreeTransferHandler());
//......
Object key = TransferHandler.getCutAction().getValue(Action.NAME);
System.out.println(key);
tree.getActionMap().put(key, new AbstractAction() {
  @Override public void actionPerformed(ActionEvent e) {
    System.out.println("dummy");
  }
});

关于java - JTree禁用/覆盖TransferHandler键盘操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14119310/

10-12 18:38