2

我正在使用 JTree 并在此对JTree 节点进行重命名,我正在使用右键单击(通过弹出窗口重命名)或 F2 键或双击。但问题是:当我重命名名称并按Enter键时,节点成功重命名,当我重命名名称并单击框架上的任意位置(Windows 资源管理器样式)时,节点名称不会重命名。

请给我一个解决这个问题的方法,并在此先感谢。

4

2 回答 2

6

可能有点晚了,但正确的解决方案是调用JTree.setInvokesStopCellEditing(true). 这将导致树在用户按 Enter 键或单元格编辑器失去焦点时执行重命名。

于 2012-02-10T20:24:57.007 回答
1

通过单击树中的其他位置来保存当前编辑的能力并不是默认JTree实现的标准配置。您将不得不深入了解如何使用树的详细信息并进行一些特殊的自定义以实现此功能。这听起来像是涉及到 Swing 组件的焦点,即当树获得焦点时,如果正在编辑节点,则保存节点重命名。

于 2010-09-13T07:26:53.420 回答