2011-12-23 30 views
0

不知道如果IM這樣的方式是愚蠢的,但我嘗試吧?JTree的,有沒有一種方法來選擇路徑爲字符串,並回樹轉換?

所以我有此JTree,我要插入我的tbltables表是「表」。 (所以我的意思是,我有一個表在我的msql數據庫中稱爲tbltables,並在其中的表列表)

因此,這些表可以在他們的表也有..所以現在的問題,我不dont知道如何告訴它,一張桌子應該放在另一張桌子上。我能想到的唯一的事情是,當我的表添加到我的JTree(我能做到這一點,但後來不救他們怎麼看着我的分貝),然後我可以保存選定的索引,或添加節點的目的地。像[「Groseries」,「水果」],然後當我從我的數據庫中調用它時,我可以像這樣添加它...因此,然後我將需要將路徑轉換爲字符串和維卡verca

我在做這個錯誤?有沒有更好的方法來做到這一點,或對我的問題的答案?

注:我不是跟phisycal文件和文件夾,即時通訊在我至極的數據庫「虛onces」工作的工作,我有自己的目標。

感謝名單

回答

2

我會說你的表應該有主鍵(我們將其命名爲表ID)和外鍵parent_table_id引用的主鍵。父ID可能爲空(例如,對於root)。

您可以定義ID,父ID和name字段類MyTableNode。基於MyTableNode層次結構構建您的TreeModel。 DefaultMutableTreeNode可以保留任何用戶對象。

然後,您可以爲JTree定義自己的渲染器,以顯示用戶對象(MyTableNodes)的名稱文本,或嘗試重寫用於在默認渲染器中顯示值的對象的toString()方法。

你的方式(作爲字符串存儲路徑)也可以工作。將節點的TreePath重新顯示爲「root/first child /.../ leaf」。所以每個表(JTree的行)都有自己的路徑。 然後恢復樹節點意味着將路徑解析爲String [],並從樹根找到適當的子元素並使用數組中的下一個名稱進行導航。

+0

有一個相關示例[此處](http://stackoverflow.com/a/8210759/230513)。 – trashgod 2011-12-23 11:50:47

+0

ahh oky kwl,謝謝。 你有什麼想法我將如何解析一個字符串到路徑? – mrbunyrabit 2011-12-23 12:49:04

相關問題