2013-04-05 60 views
0

所以基本上,我試圖獲得一個JPanel窗口,它將動態顯示所有組件。換句話說,這將重新調整窗口的大小,並顯示以適應其內容。是否可以運行JPanel(不帶JFrame)並動態顯示所有組件?

我已經能夠在JFrame及其pack()方法的幫助下完成它:"causes this Window to be sized to fit the preferred size and layouts of its subcomponents"。 在我的情況下,我不想使用JFrame,因爲它需要付出很大的努力來進行所有更改。 現在,我能夠使它工作,但只有在內部包裝文本和/或任何新行的jscroll的幫助下,窗口大小才更加靜態。所以我的JPanel被延伸的TopComponent和我能夠以顯示它:

jpanel.open(); 

jpanel.requestActive(); 

所以現在的問題是如何調整窗口大小以適合於在該窗口中的操作內容。

回答

2

必須將JPanel添加到Window纔能有意義。所以我建議你正確使用佈局管理器,你會得到一個體面的用戶界面。

2

當你添加/從你需要使用一個可視面板刪除組件:

panel.revalidate(); 
panel.repaint(); 

然後佈局管理器將再次佈局的組件。