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

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

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

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);

最佳答案

这对我有用:

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");

08-03 12:14