Java学习笔记--GUI之AWT-布局(流式布局、表格布局、边界布局)及嵌套练习

这篇博客详细介绍了Java GUI中AWT库的三种布局管理器:流式布局、表格布局和边界布局,并通过实例展示了它们的使用和嵌套应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流式布局

import java.awt.*;
public class TestFlowLayout {
    public static void main(String[] args) {
        Frame frame=new Frame();

        //组件--按钮
        Button button1=new Button("按钮1");
        Button button2=new Button("按钮2");
        Button button3=new Button("按钮3");
        //设置为流式布局   流式布局是第一行摆满了再摆下一行
        //frame.setLayout(new FlowLayout());//默认居中
        //frame.setLayout(new FlowLayout(FlowLayout.LEFT));//改为左靠齐
        frame.setLayout(new FlowLayout(FlowLayout.RIGHT));//改为右靠齐

        frame.add(button1);
        frame.add(button2);
        frame.add(button3);
        
        frame.setSize(200,200);
        frame.setVisible(true);
    }
}

边界布局

import java.awt.*;

public class TestBorderLayout {
    /*
    边界布局(东西南北中)将一个界面分成五个位置 上下左右中
     */
    public static void main(String[] args) {
        Frame frame=new Frame("title");

        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");

        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.setSize(200,200);
        frame.setVisible(true);

    }
}

表格布局


import java.awt.*;

public class TestGridLayout {
    /*
    表格布局
     */
    public static void main(String[] args) {
        Frame frame=new Frame();

        Button button1=new Button("1");
        Button button2=new Button("2");
        Button button3=new Button("3");
        Button button4=new Button("4");
        Button button5=new Button("5");
        Button button6=new Button("6");

        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);


    }
}

三种布局的简单嵌套练习


import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class ExDemo {
    /*
    布局的嵌套练习
     */
    public static void main(String[] args) {
        //总
        Frame frame=new Frame("exercise");
        Panel panel1=new Panel();
        Panel panel2=new Panel();
        frame.setSize(400,400);
        frame.setLocation(400,400);
        frame.setBackground(Color.black);
        frame.setVisible(true);

        frame.setLayout(new GridLayout(2,1));

        panel1.setLayout(new BorderLayout());
        panel1.add(new Button("1"),BorderLayout.WEST);
        panel1.add(new Button("2"),BorderLayout.EAST);
        Panel panel3=new Panel(new GridLayout(2,1));
        panel1.add(panel3,BorderLayout.CENTER);
        panel3.add(new Button("3"));
        panel3.add(new Button("4"));

        panel2.setLayout(new BorderLayout());
        panel2.add(new Button("5"),BorderLayout.WEST);
        panel2.add(new Button("6"),BorderLayout.EAST);
        Panel panel4=new Panel(new GridLayout(2,2));
        panel2.add(panel4,BorderLayout.CENTER);
        for (int i = 0; i < 4; i++) {
            panel4.add(new Button(""+(i+7)));
        }
        //注意 如果先添加,内容会覆盖  最好总底层向上层添加
        frame.add(panel1);
        frame.add(panel2);

        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、付费专栏及课程。

余额充值