我目前正在开发一款允许创建游戏手册的软件,并且我正在尝试添加图表视图。我创建了一个图形,其中顶点是段落,边缘是它们之间的链接。
我创建的游戏手册有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门面吗?我错过了什么吗?
答案 0 :(得分:3)
在分层布局的1或2个阶段中有comparator可用于Java 6,但是Java 7 started enforcing that they must be must be transitive。我们将考虑修复它。