2011-11-18 41 views
7

我想要一個JPanel,當用戶單擊邊框上的文本/圖標時,可以將其摺疊或展開。由於應用程序中的空間不足,我需要這種類型的面板。如何在Java Swing中具有Collapsable/Expandable JPanel

我讀了關於CollapsiblePanel類,但不知道如何使用它..我認爲SwingX需要下載,但沒有找到任何地方。

此外,如果我在基本Java Swing中獲得解決方案會更好。

+3

*「由於應用程序中的空間不足,我需要這種類型的面板。」*還有其他方法可將許多控件放置在一個GUI中。 'JTabbedPane','JSplitPane','CardLayout','JDesktopPane' /'JInternalFrame' ..或者在一個(可能是模態的)'JDialog'或'JOptionPane'中彈出額外的控件可能更有意義。 –

+2

@AndrewThompson - 我們在Swing上,所以確定有很多可能性,但是:JXCollapsible/JXTaskPane很可愛:-) – kleopatra

+0

@kleopatra我在等你彈出並解決OP的* actual *問題。只是覺得我會讓他們意識到有很多可能性。 :) –

回答

9

不知道你在哪裏看,但它不是很難找到 - 即使考慮到基礎設施的混亂我們是在;-)

轉到項目主頁的SwingX,然後按照鏈接在第一(準系統)下載部分的段落,向下發佈\ 1.6.2。沒有什麼特別的摺疊本身,只是容器放入組件。

+0

Concur。目前用SwingX組件重寫我們的大部分GUI。節約大約一半的代碼以適應標準Swing組件。 –

+0

謝謝kleopatra ..我有SwingX庫...導入,現在正在使用。喜歡JXTaskPane和JXCollapsible :)還沒有深入探討這兩個面板的難度.. 我在找的東西類似於「JXTaskPane」和「JXCollapsible」。然而,像** JXTaskpane **多於** JXCollapsiblePane **作爲可摺疊窗格需要**外部觸發**才能展開和摺疊。糾正我,如果我錯了。 –

1

我想你可以用JSplitPane來解決你的問題。利用該屬性明智地設置分隔符的位置,就可以實現你想要的。