网格块布局(GridBagLayout)在JAVA中是使用最为复杂,功能最强大的一种,它是在GridLayout的基础上发展而来。该布局也是将整个容器分成若干行,列组成的单元,但各行可以有不同的高度,每栏也可以有不同的宽度,一个部件可以占用一个,也可以占用多个单元格。
GridBagLayout在布置部件时需要许多信息来描述一个部件要放的位置,大小,伸缩性等。为此,在该布局中的部件加入时,要指定一个约束对(GridBagConstraints),
其中封装了与位置,大小等有关的约束数据。具体命令格式为:add(部件,约束对象);
约束对象常用属性如下:
Ⅰ:规定位置属性:一般通过gridx,gridy规定布局占用单元格的位置,最左上角为0,0. 也可以用方向位置参数控制部件的位置,类似于BorderLayout布局,这里的方向位置参数包括:CENTER , EAST , NORTH, NORTHEAST,SOUTH, SOUTHWEST,WEST.