JTree禁用/覆盖TransferHandler键盘操作

bio*_*ind 1 java swing key-events drag-and-drop jtree

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

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

提前致谢.

lba*_*scs 5

您可以通过从ActionMap中删除键删除键默认绑定来删除它们

像这样的东西:

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");
Run Code Online (Sandbox Code Playgroud)