8.2布局管理器案例代码接下来通过一个案例演示GridLayout布局的用法,请查看教材文件8-4
✎ 接下来通过一个案例演示GridLayout布局的用法,请查看教材文件 8-4。 案例代码 8.2 布局管理器
8.2布局管理器GridBagLayout>GridBagLayout(网格包布局管理器)是最灵活、最复杂的布局管理器。与GridLayout布局管理器类似,不同的是,它允许网格中的组件大小各不相同而且允许一个组件跨越一个或者多个网格。>使用GridBagLayout布局管理器的步骤如下:(1)创建GridbagLayout布局管理器,并使容器采用该布局管理器GridBagLayout layout=new GridBagLayout();+container.setLayout(layout):(2)创建GridBagContraints对象(布局约束条件),并设置该对象的相关属性GridBagConstraints constraints=new GridBagConstraints():+constraints.gridx -1;//设置网格的左上角横向索引1/设置网格的左上角纵向索引+constraints.gridy i;constraints.gridwidth=1//设置组件横向跨越的网格+constraints.gridheight=1://设置组件纵向跨越的网格
✎ ➢ GridBagLayout(网格包布局管理器)是最灵活、最复杂的布局管理器。与 GridLayout布局管理器类似,不同的是,它允许网格中的组件大小各不相同, 而且允许一个组件跨越一个或者多个网格。 ➢ 使用GridBagLayout布局管理器的步骤如下: (1)创建GridbagLayout布局管理器,并使容器采用该布局管理器 (2)创建GridBagContraints对象(布局约束条件),并设置该对象的相关属性 GridBagLayout 8.2 布局管理器
8.2布局管理器(3)调用GridBagLayout对象的setConstraints()方法建立GridBagConstraints对象和受控组件之间的关联layout.setConstraints(component,constraints);+(4)向容器中添加组件container.add(conponent);+GridBagConstraints对象可以重复使用,只需要改变它的属性即可。如果要向容器中添加多个组件,则重复(2)、(3)、(4)步骤。>从上面的步骤可以看出,使用GridBagLayout布局管理器的关键在于GridBagConstraints对象,它才是控制容器中每个组件布局的核心类,在GridBagConstraints类中有很多表示约束的属性,下面对GridBagConstraints类的一些常用属性进行介绍,如表所示
✎ (3)调用GridBagLayout对象的setConstraints()方法建立GridBagConstraints对象和受控 组件之间的关联 (4)向容器中添加组件 ➢ GridBagConstraints对象可以重复使用,只需要改变它的属性即可。如果要向容 器中添加多个组件,则重复(2)、(3)、(4)步骤。 ➢ 从上面的步骤可以看出,使用GridBagLayout布局管理器的关键在于 GridBagConstraints对象,它才是控制容器中每个组件布局的核心类,在 GridBagConstraints类中有很多表示约束的属性,下面对GridBagConstraints类的 一些常用属性进行介绍,如表所示。 8.2 布局管理器
8.2布局管理器>表8-3中,列出了属性作用设置组件的左上角所在网格的横向和纵向索引即所在的行和列。如果将gridx 和gridyegridx和gridy的值设置为GridBagConstraints.RELATIVE(认值),表示当前组件紧跟在上一个组件后面GridBagConstraints的常用属性设置组件横向、纵向跨越几个网格,两个属性的认值都是1。如果把这两个属性的值设为GridBagConstraints.REMAINER表示当前组件在其行或其列上gridwidth 和gridheight为最后一个组件。如果把这两个属性的值设为GridBagConstraints.RELATIVE,表示当前组件在其行或列上为倒数第二个组件,其中,gridx和gridy用于设置组如果当组件的显示区域大于组件需要的大小,设置是否以及如何改变组件大小,该属性接收以下几个属性值:NONE:默认,不改变组件大小+filHORIZONTAL:使组件水平方向足够长以填充显示区域,但是高度不变件左上角所在网格的横向和纵向VERTICAL:使组件垂直方向最够高以填充显示区域,但长度不变BOTH:使组件足够大,以填充整个显示区域设置组件占领容器中多余的水平方向和垂直方向空白的比例(也称为权重)。假索引,gridwidth和gridheight用设容器的水平方向放置三个组件,其weightx分别内1、2、3,当容器宽度增weightx和weighty+加60个像素时,这三个容器分别增加10、20、和30的像素。这两个属性的默认值是0,即不占领多余的空间。于设置组件横向、纵向跨越几个网格,fill用于设置是否及如何改变组件大小,weightx和weighty用于设置组件在容器中的水平方向和垂直方向的权重。》需要注意的是,如果希望组件的大小随着容器的增大而增大,必须同时设置GridBagConstraints对象的fill属性和weightx、weighty属性
✎ ➢ 表8-3中,列出了 GridBagConstraints的常用属性, 其中,gridx和 gridy用于设置组 件左上角所在网格的横向和纵向 索引,gridwidth和gridheight用 于设置组件横向、纵向跨越几 个网格,fill用于设置是否及如何改变组件大小,weightx和weighty用于设置组件 在容器中的水平方向和垂直方向的权重。 ➢ 需要注意的是,如果希望组件的大小随着容器的增大而增大,必须同时设置 GridBagConstraints对象的fill属性和weightx、weighty属性。 8.2 布局管理器
8.2布局管理器案例代码接下来通过一个案例来演示GridBagLayout的用法,请查看教材文件8-5
✎ 接下来通过一个案例来演示GridBagLayout的用法,请查看教材 文件8-5。 案例代码 8.2 布局管理器