2011-10-14 69 views
0

在我的swing應用程序中,我想使用JTree和JTable顯示相同的日期。 組件應根據用戶的選擇(例如使用切換按鈕)交替顯示/顯示。如果按下按鈕,則應顯示JTree,如果不是則顯示JTable。 問題:如何正確地做到這一點。 我試過stacklayout,顯示下一個/上一個組件,但它似乎不是很好的解決方案。兩個組件都需要內存,兩者都同時存在。 第二種解決方案可能認爲是從面板上移除組件,並創建一個新組件。它也可能是記憶/時間消耗。 你有什麼主張或解決方案嗎?擺動組件之間就地切換

回答

1

CardLayout似乎是最適合這個,但它當然也會保持這兩個組件在內存中。您是否確實有任何跡象表明這是一個問題,或者您是否正在遭受過早的優化擔憂?

+0

我還沒有嘗試CardLayout,所以它更像是我對性能的擔憂。當我們在表格中加載大量數據時(我知道我們應該考慮延遲加載,但它不是主題),我們目前遭受OutOfMemory異常的影響。但無論如何,感謝意見。 –

1

刪除現有組件並向面板添加新組件應該不會成爲性能問題。如果您確定沒有對已刪除對象的引用(例如您的JTree),則不應該有任何內存問題。