按钮布局

本文介绍了Java中常见的布局管理器,包括FlowLayout、BorderLayout、CardLayout、GridLayout和GridBagLayout,以及NULL布局。每个布局的特点和应用场景进行了详细阐述,帮助理解如何在GUI设计中合理安排组件位置。
import java.awt.*;  //添加AWT库文件
import javax.swing.*;     //添加Swing库文件
public class l extends JFrame{   //创建 LayoutTest继承于类JFrame
    JButton btn1,btn2,btn3,btn4,btn5;
    JPanel mainPan;
    FlowLayout fLayout;  //定义布局的方式
    GridLayout gLayout;   //定义布局的方式
    BorderLayout bLayout;    //定义布局的方式
    CardLayout cLayout;   //定义布局的方式
    public l (String layoutstyle) {   //定义构造函数
        // TODO 自动生成的方法存根
           super("布局方式:"+layoutstyle);
           mainPan=new JPanel();
           fLayout=new FlowLayout(FlowLayout.LEFT);  // 创建4种布局方式的对象
           gLayout = new GridLayout(3,2);  // 创建4种布局方式的对象
           bLayout=new BorderLayout();   // 创建4种布局方式的对象
           cLayout=new CardLayout(10,10);     // 创建4种布局方式的对象
           if(layoutstyle=="fLayout")   //判断采用哪一种布局方式
           mainPan.setLayout(fLayout);      //判断采用哪一种布局方式
           else  if (layoutstyle=="gLayout")          //判断采用哪一种布局方式
           mainPan.setLayout(gLayout);     //判断采用哪一种布局方式
           else  if(layoutstyle=="bLayout")
           mainPan.setLayout(bLayout);
           else  if(layoutstyle=="cLayout")
           mainPan.setLayout(cLayout);
           else
               System.out.println("布局方式输入错误");//判断采用哪一种布局方式
           getContentPane().add(mainPan);
           btn1=new JButton("按钮1"); 
           btn2=new JButton("按钮2");
           btn3=new JButton("按钮3");
           btn4=new JButton("按钮4");
           btn5=new JButton("按钮5");    //创建5个按钮类的对象
           if(layoutstyle=="fLayout"||layoutstyle=="fLayout");//定义FlowLayout或者CardLayout的布局方式
        {
            mainPan.add(btn1);
            mainPan.add(btn2);
            mainPan.add(btn3);
            mainPan.add(btn4);
            mainPan.add(btn5);
        }
        if(layoutstyle=="bLayout"||layoutstyle=="cLayout");//定义BorderLayout或者GridLayout的布局方式
        {
            mainPan.add(btn1,"East");
            mainPan.add(btn2,"South");
            mainPan.add(btn3,"West");
            mainPan.add(btn4,"North");
            mainPan.add(BorderLayout.CENTER,btn5);
        }
        setSize(250,150);    //设置界面宽度和高度
        setVisible(true);    //设置界面的可见性
        setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口关闭时的默认操作
    }
    public static void main(String args[]) {
        // TODO Auto-generated method stub
            new l("fLayout");
            new l("gLayout");
            new l("bLayout");
            new l("cLayout");
    }
}

运行结果如下:
这里写图片描述

知识要点:
1、布局管理器:在进行界面设计时,一般通过选择合适的控件,并精心设计这些控件的位置布局来实现用户界面。
2、FlowLayout布局(流式布局):这种布局将组件从上到下,从左到右依次摆放,每件均居中,它是Panel、Applet的默认布局。
3、BorderLayout布局(边界布局):这种布局将容器内的空间划分为东、南、西、北、中五个方位,布局是需要指明组件所在的方位,它是Window、Dialog、Frame的默认布局方式。
4、CardLayout布局(卡片布局):这种布局将组件像卡片一样放置在容器中,在某一时刻只有一个组件可见。
5、GridLayout布局(网络布局):这种布局类似于一个无框线的表格,每个单元格放置一个组件。
6、GridBagLayout布局(网络袋布局):这种布局类似于一个无框线的表格,每个单元格放一个组件,其放置方式是按组件加入的顺序从左到右、从上到下地摆放。
7、NULL布局(空布局):如果你不想用以上几种的布局,那么就可以采用NULL布局。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值