2010-11-22 37 views
1

我有一個JPanel確定由myPanel。我創建了一系列JButton s和add()他們到myPanel。在我的生成和添加循環結束時,我打電話給myPanel.validate()。按鈕顯示。添加()到一個JPanel打破它的大小

問題是面板的大小受到影響。無論我選擇哪種佈局管理器,按鈕總是添加在同一行上(即使它們下面有更多空間)。

我已經嘗試設置myPanel的最大尺寸並在每add()之後設置它的尺寸。無論我做什麼,在那之後validate(),面板被炸燬,我的應用程序的GUI被擰緊。

任何想法?

+0

您是否使用過1. setLayout()和2.在add(Component component,Constraint constraint)中添加約束(GridBagLayout)? – 2010-11-22 21:02:37

回答

1

我會首先在JPanel中設置首選大小:

myPanel.setPreferredSize(new Dimension(X, Y)); 

這會告訴你的佈局管理器如何嘗試這個維度內適應內容。

沒有看到您的源代碼,我不能添加更多的東西。

2

我創建了一系列JButton,並將它們添加到myPanel中......按鈕始終添加在同一行上(即使它們下方有更多空間)。

沒有默認的佈局管理器提供自動換行。你需要指定你想如何包裝發生。在這些情況下可以使用GridLayout或GridBagLayout。

或者您可以嘗試爲此目的編寫的Wrap Layout

相關問題