1

我目前正在开发一种允许创建游戏本的软件,并且正在尝试添加图形视图。我创建了一个图,其中顶点是段落,边缘是它们之间的链接。

我制作的游戏书有100多个段落,而且都是极其交织的。首先,我尝试使用 JGraphX,但结果在应用布局后变得一团糟。由于 JGraphX 的帮助和示例很少,我无法解决它,所以我用 JGraph 5.13 试试运气,因为它有外观(找不到等效的 JGraphX)。

我的问题是立面在我添加的前 87 条边上效果很好。当我再添加一个时,我得到了这个异常:

Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!

at java.util.ComparableTimSort.mergeHi(Unknown Source)
at java.util.ComparableTimSort.mergeAt(Unknown Source)
at java.util.ComparableTimSort.mergeForceCollapse(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.ComparableTimSort.sort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at com.jgraph.layout.hierarchical.JGraphMedianHybridCrossingReduction.medianRank(Unknown Source)
at com.jgraph.layout.hierarchical.JGraphMedianHybridCrossingReduction.weightedMedian(Unknown Source)
at com.jgraph.layout.hierarchical.JGraphMedianHybridCrossingReduction.run(Unknown Source)
at com.jgraph.layout.hierarchical.JGraphHierarchicalLayout.run(Unknown Source)

我不确定下一步该怎么做。JGraph 5.13 不是为制作如此混乱的图而设计的吗?我可以使用一些等效的 JGraphX 外观吗?我错过了什么吗?

4

1 回答 1

3

在 Java 6 的分层布局的 1 或 2 个阶段中有一个比较器,但Java 7 开始强制它们必须是传递的。我们会考虑修复它。

于 2013-08-31T12:44:14.437 回答