0

我正在使用 JTree Swing 实用程序来表示实际上具有循环的树。我有一个名为 root 的节点,但其中一些子节点最终会指向树的其他部分,因此不会使其成为真正的树,而是图。

当我尝试使用灰色小箭头扩展和收缩图形的某些部分时,我的 Java 应用程序一直处于锁定状态(没有抛出异常,没有堆栈溢出......等)。

我的问题是,JTree 是否要求所有 DefaulMutableTreeNodes 都不包含循环?

如果是这样,我们如何使用 JTree 实用程序来表示类似的东西。例如,当您在 Eclipse 中调试应用程序时,您可以在调试模式下无限使用变量树来继续查看循环对象。这就是我正在寻找的行为。

有什么建议么?

4

1 回答 1

0

我不认为 Jtree 循环中的节点自身存在问题。显然,只有“全部展开”按钮有问题,这是有道理的,因为展开全部方法将递归地遍历节点,直到它们没有儿子为止。

Jtree默认情况下没有展开所有按钮,所以我猜你的已经定制了......?我的建议是要么删除按钮,要么自定义代码以停止扩展,如果找到一个已经在层次结构中扩展得更高的节点。

于 2015-06-19T17:05:00.817 回答