首先要明确一点,GridBagLayout设置网格布局要比GridLayout功能要多,最主要体现在可以设置控件相对位置,而不是绝对定位控件。
在GridBagLayout中要明白的概念:网格坐标 (0,0) 位于容器的左上角,其中 X 向右递增,Y 向下递增。
x=0 | x=1 | |
0,0 | 1,0 | y=0 |
0,1 | 1,1 | y=1 |
0,2 | 1,2 | y=2 |
参数解释:
gridx 表示控件所处位置的横坐标
gridy 表示控件所处位置的纵坐标
gridwidth 表示控件所占单元格(宽度)
gridheight 表示控件所占单元格(高度)
insert 用的时候可以定义一个Insert类的实例,这个参数是用来表示控件与窗体边距的。有四个参数
fill 是否需要在窗口改变大小时改变控件位置及大小
GridBagConstraints.fill当组件的显示区域大于组件的所需大小时,用于确定是否(以及如何)调整组件。
可能的值为 GridBagConstraints.NONE(默认值)、
GridBagConstraints.HORIZONTAL(加宽组件直到它足以在水平方向上填满其显示区域,但不更改其高度)、
GridBagConstraints.VERTICAL(加高组件直到它足以在垂直方向上填满其显示区域,但不更改其宽度)和
GridBagConstraints.BOTH(使组件完全填满其显示区域)。