私は現在、ゲームブックの作成を可能にするソフトウェアに取り組んでおり、グラフ ビューを追加しようとしています。頂点が段落で、エッジがそれらの間のリンクであるグラフを作成します。
私が作成したゲームブックには 100 以上の段落があり、そのすべてが非常に複雑に絡み合っています。最初はJGraphXを使ってみたのですが、レイアウト適用後はドロドロでした。JGraphX のヘルプと例はまばらなので解決できませんでした。そのため、JGraph 5.13 で運試しをしました。
私の問題は、最初に追加した 87 個のエッジでファサードがうまく機能することです。もう 1 つだけ追加すると、次の例外が発生します。
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ファサードに相当するものはありますか? 何か不足していますか?