GUI容器之布局管理器

布局管理器

布局管理器:frame.setLayout();

默认值为new flowLayout()

  • 流式布局

frame.setLayout(new FlowLayout(FlowLayout.RIGHT));

public class 流式布局 {
    public static void main(String[] args) {
        Button btn1 = new Button("btn1");
        Button btn2 = new Button("btn2");
        Button btn3 = new Button("btn3");
        Button btn4 = new Button("btn4");

        btn1.setSize(10,10);
        btn2.setSize(10,10);
        btn3.setSize(10,10);
        btn4.setSize(10,10);

        Frame frame = new Frame();
        //设置流式布局
        frame.setLayout(new FlowLayout(FlowLayout.RIGHT));

        frame.setBounds(100,100,600,400);

        frame.add(btn1);
        frame.add(btn2);
        frame.add(btn3);
        frame.add(btn4);
        frame.setVisible(true);

    }
}
  • 东西南北中

    frame.setLayout(new BorderLayout());

    public class 东西南北中 {
        public static void main(String[] args) {
            Frame frame = new Frame();
            Button btn1 = new Button("btn1");
            Button btn2 = new Button("btn2");
            Button btn3 = new Button("btn3");
            Button btn4 = new Button("btn4");
            Button btn5 = new Button("btn5");
    
            frame.setBounds(100,100,500,400);
            //设置布局管理器
            frame.add(btn1,BorderLayout.EAST);
            frame.add(btn2,BorderLayout.WEST);
            frame.add(btn3,BorderLayout.SOUTH);
            frame.add(btn4,BorderLayout.NORTH);
            frame.add(btn5,BorderLayout.CENTER);
            frame.setVisible(true);
        }
    }
    
  • 表格布局

frame.setLayout(new GridLayout(3, 2));//行列

public class 表格布局 {
    public static void main(String[] args) {
        Frame frame = new Frame();
        frame.setBounds(100, 100, 200, 200);

        //设置布局管理器
        frame.setLayout(new GridLayout(3, 2));//行列

        Button btn1 = new Button("btn1");
        Button btn2 = new Button("btn2");
        Button btn3 = new Button("btn3");
        Button btn4 = new Button("btn4");
        Button btn5 = new Button("btn5");
        Button btn6 = new Button("btn6");
        frame.add(btn1);
        frame.add(btn2);
        frame.add(btn3);
        frame.add(btn4);
        frame.add(btn5);
        frame.add(btn6);
        //frame.pack();//自动设置大小
        frame.setVisible(true);//可视化
    }
}

综合练习

布局管理器的综合应用

  • 总结

  1. Frame:顶级窗口
  2. Panel:面板,不能独立存在
  3. 布局管理器
    1. 流式布局 flowLayout
    2. 东西南北中 borderLayout
    3. 表格布局 gridLayout
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值