GUI编程03:3种布局管理器

本节内容视频链接:https://www.bilibili.com/video/BV1DJ411B75F?p=5&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5icon-default.png?t=N7T8https://www.bilibili.com/video/BV1DJ411B75F?p=5&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5

1.FlowLayout  流式布局

代码:

public class TestFlowLayout {
    public static void main(String[] args) {
        Frame frame = new Frame();
        
        //创建组件—按钮
        Button button1 = new Button("button1");//创建对象button1
        Button button2 = new Button("button2");//创建对象button2
        Button button3 = new Button("button3");//创建对象button3

        //设置为流式布局,并且按钮位置居中
        frame.setLayout(new FlowLayout(FlowLayout.CENTER));

        //把按钮添加上去
        frame.add(button1);
        frame.add(button2);
        frame.add(button3);


        frame.setBounds(300,300,600,600);//设置窗口初始化位置、宽度、高度;
        frame.setVisible(true);//设置窗口可见性;
        
        //监听事件,监听窗口关闭事件 System.exit
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事情
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//结束程序
            }
        });
    }
}

代码运行结果:

2.BorderLayout(东南西北中布局)

代码:

public class TestBorderLayout {
    public static void main(String[] args) {
        Frame frame = new Frame("TestBorderLayout"); //创建一个窗口,标题是"TestBorderLayout"


        //创建East、West、South、North、Center 4个按钮
        Button East = new Button("East");
        Button West = new Button("West");
        Button South = new Button("South");
        Button North = new Button("North");
        Button Center = new Button("Center");


        //将创建的每个按钮添加的BorderLayout(边界布局)中
        frame.add(East, BorderLayout.EAST);
        frame.add(West, BorderLayout.WEST);
        frame.add(South, BorderLayout.SOUTH);
        frame.add(North, BorderLayout.NORTH);
        frame.add(Center, BorderLayout.CENTER);

        //设置窗口是否可见、窗口初始化位置、宽和高
        frame.setVisible(true);
        frame.setBounds(300,300,600,600);

        //设置窗口监听事件,当点击X时关闭窗口;
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事情
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//结束程序
            }
        });
    }
}

代码运行结果:

3.表格(网格)布局(GridLayout)

public class TestGridLayout {
    public static void main(String[] args) {
        //创建一个窗口
        Frame frame = new Frame();
        
        //创建6个按钮
        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");
        Button button4 = new Button("button4");
        Button button5 = new Button("button5");
        Button button6 = new Button("button6");
        
        //设置3行2列的网格布局
        frame.setLayout(new GridLayout(3,2));
        
        //在窗口中添加按钮
        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
        frame.add(button4);
        frame.add(button5);
        frame.add(button6);

        frame.pack();//java函数,用于自动优化窗口布局

        //设置窗口是否可见、窗口初始化位置、宽和高
        frame.setVisible(true);
        frame.setBounds(300,300,600,600);

        //设置窗口监听事件,当点击X时关闭窗口;
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事情
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//结束程序
            }
        });
    }
}

代码运行结构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值