2016-01-20 41 views
0

我有一個程序,我有一棵樹。我將節點及其邊緣放置在NodeList和EdgeList中。然後將這些列表放入DirectedGraph中,然後通過DirectedGraphLayout.visit()運行。GEF/draw2d:DirectedGraph節點無序

我現在將節點和邊緣放置在屏幕上。該圖幾乎是完美的,但與節點失序有一些不一致。

第一張圖顯示在下圖中。正如你所看到的,它放置了parent1的幾個孩子,然後放置了一些來自parent2的節點。然後出於某種原因,我無法弄清楚它將最後一個孩子從parent1放到parent2孩子的右邊。

Picture

接下來的問題是父母是亂序的孩子。當孩子們應該被放置在訂單:1 2 3 4,他們被放置在不同的順序,如:2 3 1 4.

我已經嘗試添加節點到NodeList是不同的命令,試圖發佈和pre順序遞歸來解析我的樹。我最終得到了完全相同的定位。

我不知道如何解決這個問題。有關DirectedGraph如何工作以及爲什麼要放置這樣的節點的任何提示表示讚賞。

回答

0

DirectedGraphLayout文檔,

[佈局算法將]爲x座標,使得圖形是容易讀取。確切的行爲是未定義

進一步回落

此類不保證爲每個調用相同的結果。

所以我想沒有辦法「解決」這個行爲是未定義的。