2012-10-05 188 views
2

我試圖創建一個應用程序JLayeredPane,它自動調整大小爲父JFrame(這是使用BorderLayout作爲框架內容窗格中佈局管理器的簡單部分)的大小。最難的部分是我希望JLayeredPane的內容自動調整爲JLayeredPane(因此也是JFrame)的大小。實際上,我想要實現的功能與Netbeans中的可停靠控制檯非常相似,就像在點擊時出現在編輯器的「頂部」,並且當被解散時再次隱藏並停靠在「控制檯」中狀態欄。顯然,我也希望調整大小的行爲正確工作。什麼是最好的方式來實現這一目標(如果不是JLayeredPane)?JLayeredPane的自動內容大小調整

+0

有趣的是,你提到了NetBeans。如果您有選擇,則可以在NetBeans API之上構建應用程序以使這些功能可用。 – Foumpie

回答

7

您需要使用添加到JLayeredPane的ComponentListener,並使其內容響應void componentResized(ComponentEvent e)方法。

+0

這是否意味着內容不會動態縮放(在調整大小期間),而只是在釋放鼠標時才進行縮放? – Warkst

+1

不,這意味着內容將在/如果告訴它時重新縮放,然後僅當調用「componentResized(...)」時纔會重新縮放。測試它。 –

+0

@Warkst這就是'JLayered'窗格的要點。它沒有佈局管理器來告訴組件該做什麼...... – MadProgrammer

相關問題