2011-06-25 124 views
0

我有一個JPanel,我在運行時動態創建JButton。我想根據添加到它的JButton的數量動態調整JPanel大小。我應該使用哪種佈局?我的JPanel將被添加到JFrame,所以任何人都可以解釋我要做什麼來建立我想要做的事情?動態窗口大小和按鈕

編輯 了一些研究之後,我現在用的是以下佈局
mode.setLayout(new GridLayout(5, 0, 1, 1)); 這裏mode是JPanel的。現在,如果我只有2個JButton添加到JPanel中,按鈕將顯示在另一個下面,這很好。但是我在這兩個按鈕的底部獲得了額外的空間。如果我有15個按鈕,我得到5行和3列這再好,但窗口大小很小,我必須在運行時手動調整窗口大小,以充分顯示按鈕。

具體問題:如何管理上述動態按鈕場景的窗口大小?

+0

'什麼佈局我應該用嗎?' - 我不知道。至少對我而言,你對你想要做的事情的描述過於寬泛而模糊,無法給出具體的建議。大多數佈局都會根據組件大小調整大小,因此要使用哪種佈局取決於您嘗試實現的外觀。如果您需要更多幫助,請編輯您的帖子並告訴我們更多。 –

+0

@Hovercraft完整的鰻魚:檢查我的編輯! – Deepak

回答

1

動態地添加組件的基本代碼是:

panel.add(...); 
panel.revalidate(); 

更新:

您可以使用以下方法來獲取需要被包裝窗口:

SwingUtilities.windowForComponent(...); 
+0

我在添加動態按鈕時沒有問題,問題在於窗口大小。 – Deepak

+0

然後在添加按鈕後在框架上執行pack()。 – camickr

+0

如果我包()我越來越動態窗口大小,但問題是按鈕也打包,他們太小了。我希望它是很好,大,因爲這是觸摸屏應用程序。那麼如何在不影響按鈕尺寸的情況下進行包裝 – Deepak

相關問題