我想做的是防止在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");