如何防止JTree的默认Cut事件?

时间:2013-01-08 08:38:54

标签: java swing jtree keystroke

我要做的是防止JTree上的剪切/复制/粘贴,因为我希望通过拖放完成所有节点移动。

在处理程序的canImport和importData方法中已经阻止了复制和粘贴,但我想不出如何防止剪切。

此外,所有这些都不起作用:

Tree.getActionMap().put( "cut", null );

InputMap inputMap = Tree.getInputMap(JComponent.WHEN_FOCUSED);
inputMap.put(KeyStroke.getKeyStroke('X', java.awt.event.InputEvent.CTRL_MASK), null);

ActionMap actionMap = Tree.getActionMap();
actionMap.put("cut", null);

1 个答案:

答案 0 :(得分:1)

这对我有用:

ActionMap actionMap = tree.getActionMap();
actionMap.remove("cut");
actionMap.getParent().remove("cut");
actionMap.remove("copy");
actionMap.getParent().remove("copy");
actionMap.remove("paste");
actionMap.getParent().remove("paste");