一列布局不使用窗口的全宽

M. *_*zyk 2 java swing gridbaglayout

我想创建一个布局:2行,1列.第一排应占据窗户高度的70%,第二排应占窗户的30%.我通过使用weighty属性来实现这一点GridBagConstraints.

但是我的组件宽度有问题,因为当我调整应用程序窗口的大小时,组件保持在中心,其宽度是恒定的,我在组件的左侧和右侧得到一个空格(即使我设置fillBOTH).当我更改窗口的高度(组件调整很好并填充窗口的完整高度)时,不会发生此问题.

低于我的约束:

firstConstraints.gridx = 0;
firstConstraints.gridy = 0;  
firstConstraints.weighty = 0.7;
firstConstraints.fill = GridBagConstraints.BOTH;

secondConstraints.gridx = 0;
secondConstraints.gridy = 1;  
secondConstraints.weighty = 0.3;
secondConstraints.fill = GridBagConstraints.BOTH;
Run Code Online (Sandbox Code Playgroud)

cam*_*ckr 5

我想你还需要:

gbc.weightx = 1.0;
Run Code Online (Sandbox Code Playgroud)

请参阅Swing教程中有关如何使用GrigBagLayout的部分,该部分讨论了weightx,weighty约束.