gpt4 book ai didi

Java:GridBagLayout 相邻 x 网格之间不需要的间距

转载 作者:行者123 更新时间:2023-12-01 17:58:16 28 4
gpt4 key购买 nike

我有这个 GUI

enter image description here

我使用了 GridBagLayout,但我不知道为什么 Plain Bread 复选框与其相应的标签之间有很大的间距。

而且,我尝试仅增加按钮沿 x 轴的间距,但尽管重置了插图,但沿 x 轴的所有组件的间距都增加了(但 Plain Bread 和 Plain Bread 之间的复选框之间的间距)标签在设置按钮的插图之前就已存在)。

代码如下:

 public Bakery(){
super("Bakery Bread Option");

setLayout(new FlowLayout());
panel.setLayout(new GridBagLayout());
add(panel);

GridBagConstraints gbc= new GridBagConstraints();

gbc.insets= new Insets(4,4,4,4);

gbc.gridx=0;
gbc.gridy=0;
panel.add(option_Title, gbc);


gbc.gridx=0;
gbc.gridy=1;
panel.add(check_Plain, gbc);

gbc.gridx=0;
gbc.gridy=2;
panel.add(qty_Plain, gbc);

gbc.gridx=0;
gbc.gridy=3;
panel.add(qty_Brown, gbc);

gbc.insets= new Insets(0,175,0,0);

gbc.gridx=0;
gbc.gridy=4;
panel.add(calc_Btn, gbc);

gbc.insets= new Insets(4,4,4,4);

gbc.gridx=1;
gbc.gridy=1;
panel.add(plain_Bread, gbc);


gbc.gridx=1;
gbc.gridy=2;
panel.add(qtyPlainText, gbc);

gbc.gridx=1;
gbc.gridy=3;
panel.add(qtyBrownText, gbc);

gbc.gridx=2;
gbc.gridy=1;
panel.add(check_Brown, gbc);

gbc.gridx=3;
gbc.gridy=1;
panel.add(brown_Bread, gbc);


calc_Amt calc_Handler= new calc_Amt();
calc_Btn.addActionListener(calc_Handler);

}

编辑:

这是我想要实现的GUI:

enter image description here

最佳答案

there is a huge spacing between the Plain Bread checkbox and its corresponding label.

因为组件被添加到不同的列中。

列的宽度由列中最大组件的宽度确定。因此,文本组件决定列的宽度,而不是标签。

如果您希望标签/复选框在一起,您可以创建一个 JPanel 并将这两个组件添加到面板中。然后将面板添加到 gridbaglayout 中。

或者您可以让两个文本字段使用columnWidth 2,这意味着它们将跨越两列。

关于Java:GridBagLayout 相邻 x 网格之间不需要的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42913368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com