带有单列的GridLayout

时间:2010-04-27 03:53:14

标签: java swing

现在我正在尝试使用只有一列的GridLayout。但是我有一个问题,我不希望对象,在这种情况下是一个JButton,拉伸它所在的JPanel的整个宽度。有没有办法减少JButton的宽度,以便它不会拉伸JPanel的整个宽度。我尝试过使用setPreferredSize和setSize没有结果。

这只是GridLayout的工作方式还是我缺少的东西?

4 个答案:

答案 0 :(得分:2)

一个简单的非优雅解决方案是将JButton嵌入JPanel中,然后将JPanel插入到布局中。

答案 1 :(得分:1)

在这种情况下,

BoxLayout似乎运作良好。特别参见Specifying Component Sizes

答案 2 :(得分:1)

  

GridLayout只是使一堆组件大小相等,并以请求的行数和列数显示它们。

这就是按钮拉伸布局面板的整个宽度的原因。看看这些链接中是否有任何帮助:

How To Use GridLayout

A Visual Guide to Layout Managers

答案 3 :(得分:0)

你可以尝试:

button.setMaximumSize( button.getPreferredSize() );

我认为它将固定在左侧。否则,尝试将按钮放在具有不同布局的另一个面板中,使按钮保持其首选大小(如FlowLayout),然后将该面板放在网格布局面板中。