gpt4 book ai didi

java - 如何通过单击编辑 JTree 节点

转载 作者:行者123 更新时间:2023-12-02 21:05:32 25 4
gpt4 key购买 nike

我有一个 JTree,并且希望在单击节点时调用其 getTreeCellEditorComponent() 方法。根据 DefaultTreeCellEditor 类(我扩展的)的文档,“编辑是通过三次鼠标单击开始的,或者在单击、暂停、单击和 1200 毫秒的延迟后开始的。”是否有某种方法可以覆盖此行为,以便单击即可启动编辑过程?

最佳答案

JTree API 推荐使用 MouseListener,但按键绑定(bind)也很方便。此示例调用 startEditingAtPath() 并绑定(bind)到 Enter 键:

final JTree tree = new JTree();
tree.setEditable(true);
MouseListener ml = new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
int row = tree.getRowForLocation(e.getX(), e.getY());
TreePath path = tree.getPathForLocation(e.getX(), e.getY());
if (row != -1) {
if (e.getClickCount() == 1) {
tree.startEditingAtPath(path);
}
}
}
};
tree.addMouseListener(ml);
tree.getInputMap().put(
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "startEditing");

附录:另请参阅此 answer关于可用性。

关于java - 如何通过单击编辑 JTree 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15625424/

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