gpt4 book ai didi

Java Swing : How to invoke stopCellEditing() before TreeListeners:valueChanged?

转载 作者:行者123 更新时间:2023-11-30 12:01:01 25 4
gpt4 key购买 nike

这是对这些早期问题的跟进:

当我使用 terminateEditOnFocusLost属性,如下所示,我的 CellEditor 在表格失去焦点时正确地停止编辑:

jtable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

它也适用于我的 JButton。 stopCellEditing() 处理按钮按下操作之前为我的 TableCellEditor 调用方法。但是当我将它与 JTree 一起使用时,树的选择发生了变化,TreeSelectionListener.valueChanged方法被调用之前 stopCellEditing() .

有谁知道有没有办法强制stopCellEditing()先被调用,还是我应该为这个问题制定一些变通办法?

最佳答案

JTreeSwing 中没有类似的客户端属性。但是 JXTreeJTree 的派生类,在 SwingX 中执行:invokeStopEditing

如果您不会使用SwingX,您可以随时查看JXTree 的源代码,看看这个StopEditing 机制是如何工作的:JXTree SwingX 1.0 API Documentation and Javadoc (转到源选项卡)

特别地,从 974 行开始,创建了一个监听器来监视 KeyboardFocusManager 等上的“permanentFocusOwner”属性更改...

关于Java Swing : How to invoke stopCellEditing() before TreeListeners:valueChanged?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1276769/

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