2015-06-19 41 views
0

我正在使用JTree Swing實用程序來表示實際上有循環的樹。我有一個名爲root的節點,但是其中一些子節點最終會指向樹的其他部分,因此不會使它成爲真正的樹,而是成爲圖。JTree表示圖

當我嘗試使用小灰色箭頭展開和縮小圖的某些部分時,我的Java應用程序保持鎖定狀態(沒有異常被拋出,沒有堆棧溢出等)。

我的問題是,JTree是否要求沒有DefaulMutableTreeNodes不包含循環?

如果是這樣,我們如何使用JTree實用程序表示類似的東西。例如,在eclipse中調試應用程序時,可以在調試模式下無限使用變量樹來繼續查看循環對象。這是我正在尋找的行爲。

有什麼建議嗎?

回答

0

我不認爲這是一個問題,在Jtree中的節點循環自己。顯然你只有在「全部展開」按鈕時纔會出現問題,這是有道理的,因爲展開所有方法將遞歸通過節點直到他們沒有兒子。

Jtree默認情況下沒有展開全部按鈕,所以我猜你已經定製了......?我的建議是要麼刪除按鈕,要麼自定義代碼來停止擴展,如果找到一個已經在層次結構中擴展更高的節點。