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

我创建的游戏手册有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 Facade吗?我想念什么吗?

最佳答案

在Java 6的分层布局的1个或2个阶段中有一个comparator,但是Java 7 started enforcing that they must be must be transitive。我们将研究修复它。

08-05 06:12