我目前正在開發一個允許創建遊戲手冊的軟件,我正在嘗試添加一個圖形視圖。我創建了一個圖表,其中頂點是段落,邊緣是它們之間的鏈接。JGraph/JGraphX:創建一個非常複雜的圖
我創建的遊戲手冊有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外觀可以使用?我錯過了什麼嗎?
你可以粘貼你正在做比較的代碼嗎 –
這個錯誤表明一個不正確的比較器實現,你寫了一個嗎?如果是,那麼請顯示。 – Katona
我自己並沒有做比較,當我這樣做的代碼發生異常(並且在圖中有88個或更多的邊緣): 'hir.run(graphFacade); Map