GridBagConstraints参数详解

GridBagConstraints参数详解GridBagConstraints参数详解gridBagConstraints参数gridx=2;//X=2gridy=0;//Y=0gridwidth=1;//横占一个单元格gridheight=1;//列占一个单元格weightx=0.0;//当窗口放大时,长度不变weighty=0.0;//当窗口放大时,高度不变

GridBagConstraints参数详解

gridBagConstraints 参数 
gridx = 2; // X=2
gridy = 0; // Y=0
gridwidth = 1; // 横占一个单元格
gridheight = 1; // 列占一个单元格
weightx = 0.0; // 当窗口放大时,长度不变
weighty = 0.0; // 当窗口放大时,高度不变
anchor = GridBagConstraints.NORTH; // 当组件没有空间大时,使组件处在北部
fill = GridBagConstraints.BOTH; // 当格子有剩余空间时,填充空间
insert = new Insets(0, 0, 0, 0); // 组件彼此的间距
ipadx = 0; // 组件内部填充空间,即给组件的最小宽度添加多大的空间
ipady = 0; // 组件内部填充空间,即给组件的最小高度添加多大的空间

new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insert, ipadx, ipady);
gridBagConstraints.insets = new java.awt.Insets(4, 4, 0, 4);//设置组件的位置

gridx,gridy

设置组件所处行与列的起始坐标。例如gridx=0,gridy=0表示将组件放置在0行0列单元格内。

gridwidth和gridheight

设置组件横向与纵向的单元格跨越个数。
它们一个负责组件的水平宽度(gridwidth),一个负责组件的垂直高度(gridheight )。由此我们可以知道,组件的大小是可以变化的。组件的形状是不能改变的,永远是矩形的。
  gbc.gridwidth= GridBagConstraints.REMAINDER;
这是Java精心为大家设计的一个特别有用的变量,使用它就可以通知外观管理器让组件占据本行的所有剩余空间,而不必去计算宽度值是多少,很自动化。
可以通过GridBagConstraints的RELETIVE,和REMAINDER来进行指定,它的用法是:

当把gridx值设置为GridBagConstriants.RELETIVE时,所添加的组件将被放置在前一个组件的右侧。同理,对gridy 值设置为GridBagConstraints.RELETIVE时,所添加的组件将被放置在前一个组件的下方,(这是一种根据前一个组件而决定当前组 件的相对放置方式)

对gridweight和gridheight也可以应用GridBagConstraints的REMAINDER方式,创建的组件会从创建的起点位置 开始一直延伸到容器所能允许的界限为止。该功能使得你可以创建跨越某些行或列的组件,从而改变相应方向上组件的数目,即使其后在布局的其他地方添加额外的组件也是如此。

weightx,weighty

设置窗口变大时的缩放比例。

anchor

设置组件在单元格中的对齐方式。由以下常量来定义

GridBagConstraints.CENTER
GridBagConstraints.EAST
GridBagConstraints.WEST
GridBagConstraints.SOUTH
GridBagConstraints.NORTH
GridBagConstraints.SOUTHEAST
GrisBagConstraints.SOUTHWEST
GridBagConstraints.NORTHEAST
GridBagConstraints.NORTHWEST

fill

当某个组件未能填满单元格时,可由此属性设置横向、纵向或双向填满。由以下常量来定义

GridBagConstraints.NONE

GridBagConstraints.HORIZONTAL

GridBagConstraints.VERTICAL

GridBagConstraints.BOTH

ipadx,ipady

将单元格内的组件的最小尺寸横向或纵向扩大。若一个组件的尺寸为30*10像素,ipadx=2,ipady=3,则单元格内的组件最小尺寸为34*16像素

insets

Insets是AWT里面一个类的名字,它的用途是用来定义组件容器周围的空间大小,其中带有四个参数:

Insets(第一个参数,第二个参数,第三个参数,第四个参数 )
Insets(上,左,下,右)

insets用来设置一个组件和其他的组件之间的距离的。

fill

每个组件有一定的原始大小,例如在类FlowLayout外观管理器的管理之下显示的就都是组件的本身原始大小。如果我们分配给一个组件的空间比它原本所需要的空间大时,就需要一定的方式方法来决定如何处理这一部分多余的空间。这时就用到了fill值。Java根据人们给这个fill设定的值来决定如何处理比组件原始空间大的那部分空间。

fill可以取四种不同的值,它们分别代表了四种不同的剩余空间处理方式:

GridBagConstraints.NONE
  //不必理睬剩余空间的存在,让它空着好了。
GridBagConstraints.BOTH
  //不让一点剩余空间存在,改变组件的大小,让它填
满分配给它的整个空间。
GridBagConstraints.HORIZONTAL
  //调整组件的大小,把水平方向的空间填满。
GridBagConstraints.VERTICAL
  //调整组件的大小,把垂直方向的空间填满,让水平方向的空间空着吧。

这里写图片描述

构造函数
GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insert, ipadx, ipady) 没改的表示不赋值 东:GridBagConstraints( gridx, gridy, 1, 1, weightx, weighty, anchor, GridBagConstraints.BOTH, insert, ipadx, ipady);
西:GridBagConstraints(
        gridx, gridy,
        GridBagConstraints.REMAINDER, 1, 
        weightx, weighty, 
        anchor, 
        GridBagConstraints.BOTH, 
        insert, ipadx, ipady);
南:GridBagConstraints(
        gridx, gridy,
        1, 4, 
        weightx, weighty, 
        anchor, 
        GridBagConstraints.BOTH, 
        insert, ipadx, ipady);
北:GridBagConstraints(
        gridx, gridy,
        2, 2, 
        weightx, weighty, 
        anchor, 
        GridBagConstraints.BOTH, 
        insert, ipadx, ipady);
中:GridBagConstraints(
        gridx, gridy,
        GridBagConstraints.REMAINDER, 2, 
        weightx, weighty, 
        anchor, 
        GridBagConstraints.BOTH, 
        insert, ipadx, ipady);
六:GridBagConstraints(
        gridx, gridy,
        GridBagConstraints.REMAINDER, 2, 
        weightx, weighty, 
        anchor, 
        GridBagConstraints.BOTH, 
        new Insets(5,6,7,8), 
        ipadx, ipady);

今天的文章GridBagConstraints参数详解分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/23844.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注