gpt4 book ai didi

java - 如何停止编辑 Jtree 的选定节点的鼠标单击事件

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:03 25 4
gpt4 key购买 nike

我有一个三层的 JTree。在菜单中选择选项时可以重命名第二级节点。即使我单击菜单中的重命名选项,我仍然需要双击节点来编辑它。我想停止鼠标单击事件来编辑它,并让用户仅通过选择菜单项来编辑节点。由于我是 Swing 新手,我可能在代码中遗漏了一些内容。请帮助继续。下面是我的代码。

    JMenuItem itemRename = new JMenuItem("Rename");

itemRename.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
Object testCaseNodeInfo=selectedNode.getUserObject();
String oldName=(String)testCaseNodeInfo;
tree.setEditable(true);

DefaultTreeCellEditor editor=new DefaultTreeCellEditor(tree,
(DefaultTreeCellRenderer)tree.getCellRenderer()){
@Override
public boolean isCellEditable(EventObject event) {
if(event instanceof MouseEvent){
return false;
}
return super.isCellEditable(event);
}
};
tree.setCellEditor(editor);

/*this allows to save the changed item in a global object on pressing
Enter key after the change */
tree.getModel().addTreeModelListener(new TCTreeModeListener(oldName));

}
});

add(itemRename);

最佳答案

我在执行操作时添加了以下代码,它有助于通过在选择菜单项时双击“允许编辑”来停止编辑节点。

 TreePath selectionPath = tree.getSelectionPath();
tree.startEditingAtPath(selectionPath);

关于java - 如何停止编辑 Jtree 的选定节点的鼠标单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com