一个 JTree 的静态过滤/多个 Jtree 共享一个模型(的相关部分)

static filtering of a JTree/ multiple Jtrees sharing (the relevant parts of) a model

我有一个 Jtree 有两个顶部 children 说 AB。目前,代码旨在将两者显示在同一面板中,因为它们是共享 JTree 的一部分。我想要做的是,将 A 和 Binto 分开两个不同的面板。

现在,Jtree 有一个复杂的更新系统,并且有 A 成员自动进入 B 的方法,反之亦然,等等,我真的不想有两个单独的 JTrees。我知道我可以使用以下方式访问相关数据:

myTree.getModel().getChild(myTree.getModel().getRoot(),i)

但是有没有办法在一个面板中显示 A 及其 sub-children 而在另一个面板中显示 B?

如果不是,我想我将不得不求助于创建 myTree_AmyTree_B跟踪 myTree。最简洁、最有效的方法是什么?

更新:

所以我选择创建两个单独的树。然而,我有一个小问题,当我在我的两棵新树中 'root_A.add(A)' 和 'root_B.add(B)' 时,其中 root_Aroot_B分别是myTreeAmyTreeB的根,A和B是从myTree[分离的=40=]的根,我无法再将myTreeA,B的元素hook到原来的myTree,调用相关例程。有什么方法可以告诉 myTreeAmyTreeB 在不删除它们的 parent 的情况下跟踪 A 和 B?换句话说,我可以在树之间共享 models/nodes 吗?

最简洁的方法是创建两个单独的树,以便可以轻松更新和反映附加到 A 和 B 的模型。