我在JUNG中使用TreeLayout作爲我的圖。用戶可以對圖形進行更改,然後應該更新並顯示更改。JUNG樹佈局動態更新
要啓用一個更新,我重新創建圖形,並設置使用它的佈局:
graph = new DelegateForest<String, Integer>(
new DirectedOrderedSparseMultigraph<String, Integer>());
createGraph() //adds the vertices and edges to the graph
layout.setGraph(graph);
vv.repaint();
這不更新樹給它應該是什麼,但樹的佈局都將丟失。
大多數節點確實出現在正確的位置,但葉節點出現在隨機的地方。是否有可能找回第一次創建圖形時得到的樹結構?
我相信他們失序的原因是因爲JUNG的'TreeLayout'將頂點存儲在HashMap中(其中的順序不能保證)。如果你複製JUNG的'TreeLayout'代碼並用'TreeHashMaps'代替它,我相信它會起作用。 – sdasdadas
sdasdadas,這是不正確的。見下文。 –