我需要可编辑的JTree
,但编辑应该通过双击节点或按 F2 来开始,而不是像默认设置那样仅按鼠标/单击节点。
禁用 JTree(或任何其他类似组件,例如 JTable)上的鼠标按下或单击鼠标处理但保留选择处理的最佳方法是什么?
我有开始编辑的代码,我只需要关闭 JTree 即可开始使用其他事件进行编辑。
最佳答案
据我了解,您需要管理JTree
的编辑器,这是一个简单的示例:
JTree t = new JTree();
t.setEditable(true);
TreeCellRenderer cellRenderer = t.getCellRenderer();
DefaultTreeCellEditor cellEditor = new DefaultTreeCellEditor(t, (DefaultTreeCellRenderer) cellRenderer){
@Override
public boolean isCellEditable(EventObject arg0) {
if(arg0 instanceof MouseEvent){
return ((MouseEvent)arg0).getClickCount() > 2;
}
return super.isCellEditable(arg0);
}
};
t.setCellEditor(cellEditor);
检查DefaultTreeCellEditor
它是方法 isCellEditable(EventObject arg0)
。
关于java - 禁用/覆盖 JTree 鼠标按下/单击处理的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19952012/