我在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,这是不正确的。见下文。 –