【问题标题】:GEF/draw2d: DirectedGraph nodes out of orderGEF/draw2d:DirectedGraph 节点乱序
【发布时间】:2016-01-20 20:16:19
【问题描述】:

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

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

第一个如下图所示。如您所见,它放置了 parent1 的一些子节点,然后放置了 parent2 的一些节点。然后由于某种原因,我无法弄清楚它将 parent1 的最后一个孩子放在 parent2 孩子的右边。

Picture

下一个问题是父级的子级出现故障。当孩子应该按顺序排列:1 2 3 4 时,它们改为按不同的顺序排列,例如:2 3 1 4。

我尝试将节点添加到 NodeList 是不同的顺序,尝试使用后序和前序递归来解析我的树。我最终得到完全相同的定位。

我不知道如何解决这个问题。任何关于 DirectedGraph 如何工作以及为什么要放置这样的节点的提示都值得赞赏。

【问题讨论】:

    标签: draw2d


    【解决方案1】:

    来自DirectedGraphLayout 文档,

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

    再往下

    这个类不能保证每次调用都产生相同的结果。

    所以我想没有办法“解决”这个问题,因为行为是未定义的。

    【讨论】:

      猜你喜欢
      • 2016-06-20
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 2018-09-26
      • 2018-02-21
      相关资源
      最近更新 更多