我希望能够编辑节点名F2 and ENTER只能用按键,不能用鼠标。我添加了这两行,它们正在工作:
jTree1.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "startEditing");
jTree1.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0), "startEditing");
但是如何禁用鼠标编辑呢?有没有类似的方法:jTree1.setToggleClickCount(2);
我想要这样做的原因是我想保留节点的旧名称,因此我将创建一个按键侦听器来侦听 F2 和 ENTER 并保持这种名称。那有意义吗?有什么想法吗?
您可以借助以下命令禁用鼠标编辑TreeCellEditor
,尝试下一个代码:
DefaultTreeCellEditor editor = new DefaultTreeCellEditor(t, (DefaultTreeCellRenderer) t.getCellRenderer()){
@Override
public boolean isCellEditable(EventObject event) {
if(event instanceof MouseEvent){
return false;
}
return super.isCellEditable(event);
}
};
该编辑器阻止编辑MouseEvent
.
将该编辑器设置为您的JTree
与下一行:tree.setCellEditor(editor);
where tree
是你的JTree
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)