删除子项后,在JTree节点上显示“扩展”控件?

时间:2011-07-06 23:23:54

标签: swing jtree

我有一个DefaultTreeModel,其中包含DefaultMutableTreeNode的子类。我只重写isLeaf()以始终返回true,因为我在展开节点时懒洋洋地加载子节点。然后,当节点折叠时,我删除子节点(触发正确的treeNodesRemoved事件),因为我已从服务器的更新中取消订阅。

问题是,在用户折叠节点并删除子节点后,愚蠢的小扩展圆消失(但单击该区域仍然可以扩展节点)。如何在删除子项后始终显示扩展控件?

相关:Add 'expand' button to JTree node that has no children?。添加假孩子是唯一的方法吗?

Expand control disappears after collapsing

1 个答案:

答案 0 :(得分:0)

我这样做的方法是在删除子项时添加假孩子和扩展侦听器。当我收到有关假孩子的节点将要扩展的通知时,我会用假装的实际孩子替换假孩子。

这样节点总是有子节点,并且始终显示扩展控件