Java GridBagLayout忽略锚定

Java GridBagLayout忽略锚定,java,swing,layout-manager,gridbaglayout,Java,Swing,Layout Manager,Gridbaglayout,我的GridBagLayout有一些问题,我想把按钮放在屏幕左侧,就像现在一样。我知道我的权重为0,但将其更改为1会破坏星座,我不知道如何将两者存档 我知道我的体重为0,但如果改为1,我会休息 看起来您正在使用BoxLayout使子面板垂直居中。但是,默认情况下,JPanel在可用空间中水平居中。因此,在createJPanel方法中,尝试添加: bottom.setAlignmentX(0.0f); 如果这不起作用,您可能需要为底部面板使用包装面板: //return bottemPan

我的GridBagLayout有一些问题,我想把按钮放在屏幕左侧,就像现在一样。我知道我的权重为0,但将其更改为1会破坏星座,我不知道如何将两者存档

我知道我的体重为0,但如果改为1,我会休息

看起来您正在使用BoxLayout使子面板垂直居中。但是,默认情况下,JPanel在可用空间中水平居中。因此,在createJPanel方法中,尝试添加:

bottom.setAlignmentX(0.0f);
如果这不起作用,您可能需要为底部面板使用包装面板:

//return bottemPanel;
JPanel wrapper = new JPanel(); // 
wrapper.setAlignmentX(0.0f);
wrapper.add(bottom);
return bottomPanel;
或者,另一种解决方案是添加一个权重为1.0f的虚拟组件

JLabel dummy = new JLabel(" "); 
gbc.gridx = ?;
gbc.weightx = 1.0f;
add(dummy, gbc);

1) 为了更快地获得更好的帮助,请添加或。2) 提供最小尺寸的ASCII艺术或GUI预期布局的简单绘图,如果可以调整大小,则具有更大的宽度和高度,以显示如何使用额外的空间。Thx我修改了第二个选项,它对我有效,制作了一个带有BorderLayout的包装,并使底部面板贴在西侧。我一个人不行
JLabel dummy = new JLabel(" "); 
gbc.gridx = ?;
gbc.weightx = 1.0f;
add(dummy, gbc);