1

我想让几个JTrees (都具有非常相似的内容)使它们选择的节点同步(当每棵树中存在相同的节点时)。

目前,我正在通过向TreeSelectionListener每棵树添加 a 并调用setSelectedPath其他树(如果getSelectedPaths不包含路径)来做到这一点。

但是,我已经看到这会导致无限循环,其中每棵树都在重复选择不同的节点(我不确定如何重现这一点,但我在拖动节点时已经看到了)。

似乎没有办法在不触发树选择侦听器的情况下设置所选路径,我宁愿不走尝试删除侦听器的路径。

我正在考虑在TreeSelectionModel树之间共享 a 的可能性,但是考虑到DefaultTreeSelectionModel.

有没有其他方法可以达到相同的结果?

4

1 回答 1

2

添加一个标志 isAPI。当您以编程方式选择树中的路径时设置标志,并在设置路径后重置它。

在侦听器中只需检查 isAPI==true 是否并从侦听器返回。

于 2012-12-18T06:32:06.870 回答