我需要有可编辑的JTree
,但是应该通过双击节点或按F2来开始编辑,而不是只按鼠标/单击节点,因为它是默认设置。
禁止处理鼠标按下或单击JTree(或任何其他类似组件,例如JTable)但保持选择处理的最佳方法是什么?
我有开始编辑的代码我只需要关闭JTree开始编辑其他事件。
答案 0 :(得分:3)
据我了解,您需要管理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)
。