GridBagLayout中按钮的大小

时间:2013-04-25 10:05:41

标签: java swing jbutton gridbaglayout preferredsize

我在JButtons内有一个3 * 6的GridBagLayout数组。但由于每个按钮的文本长度可能不同,因此每列按钮的宽度略有不同。如何让它们具有相同的宽度?

以下是代码:

for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 6; j++)
    {
        buttonConstraints.fill = GridBagConstraints.BOTH;
        buttonConstraints.weightx = 1;
        buttonConstraints.weighty = 1;
        buttonConstraints.gridx = j;
        buttonConstraints.gridy = i;
        buttonPanel.add(buttons[i * 6 + j], buttonConstraints);
    }
}

提前致谢。

3 个答案:

答案 0 :(得分:5)

  

但是因为每个按钮的文本长度可能会有所不同,所以每列都有   按钮的宽度略有不同。我如何让他们拥有相同的   宽度β

  • 简单的解决方案是使用GridLayout

  • GridBagLayout要创建列,每列的维度都来自第一行中每个PrefferedSize的{​​{1}},这些坐标用于其余的行当前的容器

编辑

enter image description here

JButtons

答案 1 :(得分:2)

在使用GridBagConstraints的帮助下,您可以将宽度设置为相等或您想要的宽度。点击此链接获取帮助:

GridBagConstraints

答案 2 :(得分:-1)

试试这个:

buttonConstraints.fill = GridBagConstraints.HORIZONTAL;