我在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);
}
}
提前致谢。
答案 0 :(得分:5)
但是因为每个按钮的文本长度可能会有所不同,所以每列都有 按钮的宽度略有不同。我如何让他们拥有相同的 宽度β
简单的解决方案是使用GridLayout
GridBagLayout
要创建列,每列的维度都来自第一行中每个PrefferedSize
的{{1}},这些坐标用于其余的行当前的容器
编辑
但gbc.weightx and gbc.weighty can be used for percentages divide
模拟GridLayout(重要的问题是为什么要烦恼)
JButtons
答案 1 :(得分:2)
在使用GridBagConstraints的帮助下,您可以将宽度设置为相等或您想要的宽度。点击此链接获取帮助:
答案 2 :(得分:-1)
试试这个:
buttonConstraints.fill = GridBagConstraints.HORIZONTAL;