GridBagLayout是一个灵活的布局管理器,部件如果想加入其中需借助GridBagConstraints,其中有若干个参数,解释如下:
gridx/gridy:组件的横纵坐标
gridwidth:组件所占列数,也是组件的宽度
gridheight:组件所占行数,也是组件的高度
fill:当组件在其格内而不能撑满其格时,通过fill的值来设定填充方式,有四个值
ipadx: 组件间的横向间距
ipady:组件间的纵向间距
insets:当组件不能填满其格时,通过insets来指定四周(即上下左右)所留空隙
anchor:同样是当组件不能填满其格时,通过anchor来设置组件的位置,anchor有两种值,绝对和相对的值分别有 若干个,文档中有,可自行查看
weightx:行的权重,通过这个属性来决定如何分配行的剩余空间
weighty:列的权重,通过这个属性来决定如何分配列的剩余空间
注意:(今天做左对齐时 ,遇到了这个问题,把weightx设置成值 就可以了)
其中影响较大的参数:
weightx、weighty:只有设定了该值,才能向各个方向填充(fill)。比如要横向填充就必须设定weightx=100,想双向填充则必须两个都设定为100。
fill:功能受weightx、weighty的影响。fill的值也影响anchor,比如要想组件左对齐(anchor = GridBagConstraints.EAST),fill的值必须为HORIZONTAL或BOTH,否则无效。但诸如GridBagConstraints.NONE这样的值则不会受影响。
anchor:其值受fill的影响。只控制组件在填充区域内的放置位置(比如,EAST代表靠左)