java布局之GridBagLayout(二)

2014-11-24 02:55:47 · 作者: · 浏览: 4
; ctr5.fill = GridBagConstraints.HORIZONTAL; container.add(btn5,ctr5); GridBagConstraints ctr6 = new GridBagConstraints(); ctr6.gridx = 2; ctr6.gridy = 2; ctr6.weighty = 1; //ctr6.weightx = 1; ctr6.gridwidth = 2; ctr6.gridheight = 1; ctr6.fill = GridBagConstraints.HORIZONTAL; container.add(btn6,ctr6); } public static void main(String[] args) { GridBagLayouts frame = new GridBagLayouts(); frame.pack(); frame.setVisible(true); } }
程序运行结果:


从图中可以看出

1:对于这样的网格Layout,我们可以忽略一些网格组件的设置,并不是每个网格都必须有组件

2:对于权重来说,有纵向比较,横向比较。在比较时,根据这一列(行)不同组件权重的对应大小,然后在窗口扩张中按照对应的权重来增加间距。如上图,button1的纵向权重最大,那么窗口变大时,它周围的空白就越多。

3:inset单位是像素,表示的是组件之间的间距

4:ipadx,ipady表示的 是组件内部的距离。