2010-04-27 26 views
1

現在,我正在嘗試僅將GridLayout與單列一起使用。不過,我遇到了一個問題,我不希望該對象(在本例中爲JButton)拉伸到它所在的JPanel的整個寬度。有沒有辦法減少JButton的寬度,以便它不會擴展JPanel的整個寬度。我試過使用setPreferredSize和setSize而沒有結果。帶單列的GridLayout

這只是GridLayout的工作方式,或者是有什麼我失蹤?

+0

使用的GridBagLayout,尊重元件尺寸 – willcodejavaforfood 2010-04-27 15:19:23

+0

反正是有讓他們開始顯示在頂部,而不是在面板的中間? – Albinoswordfish 2010-04-28 00:40:58

回答

0

你可以嘗試:

button.setMaximumSize(button.getPreferredSize()); 

我認爲這將被固定在左邊。否則,請嘗試將按鈕放在另一個面板中,使其按照其首選大小(如FlowLayout)進行佈局,然後將該面板放置在網格佈局面板中。

2

一個簡單的非優雅解決方案是將JButton嵌入到JPanel中,然後將JPanel插入到佈局中。

1

GridLayout只是簡單地使一堆組件的大小相等,並將它們顯示在請求的行數和列數中。

所以這就是爲什麼按鈕拉伸了佈局面板的整個寬度。看看是否有任何的這些鏈接幫助:

How To Use GridLayout

A Visual Guide to Layout Managers