Java 将GridBagLayout调整为JPanel大小

Java 将GridBagLayout调整为JPanel大小,java,calculator,gridbaglayout,Java,Calculator,Gridbaglayout,我有一个关于网格布局的问题。我试着做一个简单的计算器,我用GrdBaySudio把所有按钮放在按钮面板中,尽管它把所有的按钮都放在中间,而不改变按钮的大小,这是逻辑的。我可以在GridLayout(它将按钮的大小调整为JPanel的大小)和GridBagLayout(这样我就可以按我想要的宽度和顺序排列)之间找到一些东西吗 布局的代码如下所示: 。。。 底部面板(){ this.setLayout(新的GridBagLayout()); GridBagConstraints gbc=新的Grid

我有一个关于网格布局的问题。我试着做一个简单的计算器,我用GrdBaySudio把所有按钮放在按钮面板中,尽管它把所有的按钮都放在中间,而不改变按钮的大小,这是逻辑的。我可以在GridLayout(它将按钮的大小调整为JPanel的大小)和GridBagLayout(这样我就可以按我想要的宽度和顺序排列)之间找到一些东西吗

布局的代码如下所示:

。。。 底部面板(){

this.setLayout(新的GridBagLayout());
GridBagConstraints gbc=新的GridBagConstraints();

backspace=new JButton(“至少有一步是正确的:在创建
GridBagConstraints
对象后,将其权重严格设置为大于0:

    gbc.weightx = 0.1;
    gbc.weighty = 0.1;
选择哪个值并不重要,只要大于0.0且不大于1.0即可。这会导致大多数按钮水平拉伸以填充可用空间,并以均匀的垂直间距展开:


您可能已经意识到,如果您希望面板中的按钮增加,您可以使用
gbc.fill=GridBagConstraints。两者都可以;

也许jgoodies formlayout适合您的需要为网格包约束指定非零权重会有帮助吗?非常感谢!有人知道如何“强制”吗“同时垂直拉伸的按钮??非常感谢!
gbc.fill=GridBagConstraints。两者都是;
gbc.fill=GridBagConstraints.VERTICAL;
@DominikaThank非常感谢您!现在它工作得非常好!您非常有帮助!谢谢!很高兴听到您的声音。请随意投票和/或接受。”。
    gbc.weightx = 0.1;
    gbc.weighty = 0.1;