Java 为JTree禁用/覆盖鼠标按下/单击处理的正确方法
我需要有可编辑的Java 为JTree禁用/覆盖鼠标按下/单击处理的正确方法,java,swing,mouseevent,jtree,key-bindings,Java,Swing,Mouseevent,Jtree,Key Bindings,我需要有可编辑的JTree,但编辑应该通过双击节点或按F2键来开始,而不是按鼠标/单击节点,因为默认情况下是这样设置的 禁用对JTree(或任何其他类似组件,例如JTable)的鼠标按下或单次鼠标单击处理,但保留选择处理的最佳方法是什么 我有开始编辑的代码,我只需要关闭JTree开始编辑其他事件。据我所知,您需要管理JTree的编辑器,下面是一个简单的示例: JTree t = new JTree(); t.setEditable(true); TreeCellRende
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);
检查它的方法isCellEditable(eventobjectarg0)
据我所知,您需要管理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);
检查它的方法isCellEditable(eventobjectarg0)
据我所知,您需要管理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);
检查它的方法isCellEditable(eventobjectarg0)
据我所知,您需要管理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);
通过双击节点展开,检查它的方法isCellEditable(eventobjectarg0)
作为默认值。查看TreeSelectionModel。如果我在你的位置上,我会这么做。默认情况下,双击节点会展开。看看TreeSelectionModel。如果我在你的位置上,我会这么做。默认情况下,双击节点会展开。看看TreeSelectionModel。如果我在你的位置上,我会这么做。默认情况下,双击节点会展开。看看TreeSelectionModel。如果我处在你的位置,我会这么做。+1代表暴力。。。。。。。可能会拼错,因为其中一个事件是,必须在之前从TreeSelectionListener测试这正是我要找的。我把它放在眼前,并没有看到isEditable()
+1的暴力参数。。。。。。。可能会拼错,因为其中一个事件是,必须在之前从TreeSelectionListener测试这正是我要找的。我把它放在眼前,并没有看到isEditable()
+1的暴力参数。。。。。。。可能会拼错,因为其中一个事件是,必须在之前从TreeSelectionListener测试这正是我要找的。我把它放在眼前,并没有看到isEditable()
+1的暴力参数。。。。。。。可能会拼错,因为其中一个事件是,必须在之前从TreeSelectionListener测试这正是我要找的。我把它放在眼前,没有看到isEditable()
的参数。