【发布时间】:2013-06-19 17:34:00
【问题描述】:
我正在使用 JUNG 中的 TreeLayout 作为我的图表。用户能够对图表进行更改,然后它应该更新并显示更改。
为了启用更新,我再次创建图表并使用它设置布局:
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,这是不正确的。见下文。
标签: tree jung graph-layout