GEF / draw2d:DirectedGraph节点乱序

时间:2016-01-20 20:16:19

标签: draw2d

我有一个程序,我有一棵树。我将节点及其边放在NodeList和EdgeList中。然后将列表放在DirectedGraph中,然后我通过DirectedGraphLayout.visit()运行。

我现在将节点和边缘放在屏幕上。该图几乎是完美的,但是有些不一致的节点出现故障。

第一张如下图所示。正如您所看到的,它放置了parent1的几个子节点,然后从parent2放置一些节点。然后由于某种原因,我无法弄清楚它将父母1的最后一个孩子放在父母2的孩子的右边。

Picture

下一个问题是父母的孩子出了问题。当孩子们应该按顺序放置时:1 2 3 4,他们将被安排在不同的顺序,如:2 3 1 4.

我尝试将节点添加到NodeList是不同的命令,尝试post和pre命令递归来解析我的树。我最终获得完全相同的定位。

我对如何解决这个问题感到茫然。任何关于DirectedGraph如何工作的提示以及它为什么放置这样的节点都是值得赞赏的。

1 个答案:

答案 0 :(得分:0)

来自DirectedGraphLayout文档,

  

[布局算法将]分配x坐标,以便图表易于阅读。确切的行为是未定义的

进一步向下

  

不保证此类为每次调用生成相同的结果。

所以我猜没有办法去修复"这是因为行为未定义。