2010-03-26 139 views
3

我正在使用swing來創建我的GUI。 J有一個包含一個主JPanel的JFrame,它依次包含幾個JPanel,這些JPanel又包含按鈕。設置GUI元素大小的正確方法是什麼?

我想爲mu按鈕和JPanels設置一定的尺寸。它是如何工作的?我應該設置我的按鈕的大小,然後根據按鈕大小設置JPanel和JFrame的大小?或者它在相反的方向工作?我爲JPanel設置了大小,按鈕的大小會自動設置?

新增:

我用fieldPanel.setPreferredSize(new Dimension(100,100));,它有窗口的外觀沒有任何影響。是否因爲這個面板位於層次結構的中間,它包含了一些按鈕,並且它被其他JPanels包含了?

+1

使用JFrame.pack如果您使用面板的首選大小 – 2010-03-26 13:09:39

+0

http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html – Nate 2010-03-26 18:23:52

回答

3

這取決於您使用的佈局管理器。有些像GridLayout一樣不注意你設置的大小,而是應用佈局管理器本身的規則。

其他像GridBagLayout一樣,您可以更好地控制組件的大小。

+0

是的,我有GridLayout。所以,現在我知道它爲什麼不起作用。在網格中我有按鈕。也許我可以明確地設置它們的大小,並以這種方式設置JPanel的大小? – Roman 2010-03-26 12:59:57

+0

如果按鈕的大小很重要,那麼我建議使用另一個佈局管理器。或者你可以把按鈕放在一個JPanel中,並把JPanel放在GridLayout容器中。然後,按鈕所駐留的JPanel可能會被賦予一個不影響Button大小的流佈局,這樣您可以將按鈕大小設置爲您的首選大小。但是,這是一種笨拙的方法,不會讓您對GUI的佈局有很大的控制。 – 2010-03-26 13:41:05

相關問題