GridBagLayout网格包布局管理器

GridBagLayout是Java中一种灵活但复杂的布局管理器,它使用Constraints对象来控制组件在网格中的位置和大小。这个例子展示了如何使用GridBagLayout创建一个包含文本框、复选框、单选按钮和列表的用户界面,通过设置不同的约束来调整组件的布局。
摘要由CSDN通过智能技术生成

GridBagLayout    

       灵活也难以掌控的布局管理器,每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域

     组件可以由程序选择存放位置Constraints 对象指定组件的显示区域在网格中的具体放置位置,以及组件在其显示区域中的放置方式,考虑每个组件的最小大小和首选大小,以确定组件的大小。

     GridBagLayout对每个组件施加空间控制是通过类 GridBagConstraints 来实现的。


import java.awt.*;

public class GridBagLayout01{    
    public static void main(String args[]){
        Frame f=new Frame("GridBagLayout网格包布局的演示");
        Panel p=new Panel();
        GridBagLayout gbl=new GridBagLayout();
        GridBagConstraints gbc=new GridBagConstraints();
        Button b=new Button("确定");
        //Checkbox复选框
        Checkbox cb0=new Checkbox("one",true,null);
        Checkbox cb1=new Checkbox("two",false,null);
        //创建标签
        Label la=new Label("性别:");
        //CheckboxGroup用于集合 Checkbox复选框的按钮集成单选了
        CheckboxGroup cbg=new CheckboxGroup();
        //创建单选按钮
        Checkbox cb3=new Checkbox("男",true,cbg);
        Checkbox cb4=new Checkbox("女",false,cbg);
        //创建文本框
        TextField name=new TextField("name");
        TextField name1=new TextField("姓名",5);
        //创建列表
        List l=new List(2);
        //向列表添加内容
        l.add("Sun");
        l.add("Moon");
        l.add("Swing");
        //设置板面布局
        p.setLayout(gbl);
              
        gbc.gridwidth=GridBagConstraints.REMAINDER;//设置网格宽度  
        gbc.gridheight=1;
        gbl.setConstraints(name, gbc);
        gbl.setConstraints(name1, gbc);
        p.add(name);p.add(name1);
        
        gbc.gridwidth=3;
        gbc.gridheight=1;
        gbl.setConstraints(la, gbc);
        gbl.setConstraints(cb3, gbc);
        gbl.setConstraints(cb4, gbc);
        p.add(la);p.add(cb3);p.add(cb4);
        //设置网格包管理约束
        gbc.gridwidth=GridBagConstraints.REMAINDER;//设置网格宽度  
        gbl.setConstraints(cb0, gbc);
        gbl.setConstraints(cb1, gbc);
        //向板面添加组件
        p.add(cb0);p.add(cb1);
        
        
        //设置宽高
        gbc.gridwidth=1;
        gbc.gridheight=1;
        gbl.setConstraints(l, gbc);
        p.add(l);
        gbc.gridwidth=GridBagConstraints.CENTER;
        gbl.setConstraints(b, gbc);
        p.add(b);
        
        f.add(p,"Center");
        f.pack();
        f.setSize(400, 300);
        f.setVisible(true);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值