現在,我正在嘗試僅將GridLayout與單列一起使用。不過,我遇到了一個問題,我不希望該對象(在本例中爲JButton)拉伸到它所在的JPanel的整個寬度。有沒有辦法減少JButton的寬度,以便它不會擴展JPanel的整個寬度。我試過使用setPreferredSize和setSize而沒有結果。帶單列的GridLayout
這只是GridLayout的工作方式,或者是有什麼我失蹤?
現在,我正在嘗試僅將GridLayout與單列一起使用。不過,我遇到了一個問題,我不希望該對象(在本例中爲JButton)拉伸到它所在的JPanel的整個寬度。有沒有辦法減少JButton的寬度,以便它不會擴展JPanel的整個寬度。我試過使用setPreferredSize和setSize而沒有結果。帶單列的GridLayout
這只是GridLayout的工作方式,或者是有什麼我失蹤?
你可以嘗試:
button.setMaximumSize(button.getPreferredSize());
我認爲這將被固定在左邊。否則,請嘗試將按鈕放在另一個面板中,使其按照其首選大小(如FlowLayout)進行佈局,然後將該面板放置在網格佈局面板中。
一個簡單的非優雅解決方案是將JButton嵌入到JPanel中,然後將JPanel插入到佈局中。
BoxLayout
似乎在這方面很好。特別參見Specifying Component Sizes。
GridLayout只是簡單地使一堆組件的大小相等,並將它們顯示在請求的行數和列數中。
所以這就是爲什麼按鈕拉伸了佈局面板的整個寬度。看看是否有任何的這些鏈接幫助:
使用的GridBagLayout,尊重元件尺寸 – willcodejavaforfood 2010-04-27 15:19:23
反正是有讓他們開始顯示在頂部,而不是在面板的中間? – Albinoswordfish 2010-04-28 00:40:58