按钮布局演示

package wei;
import java.awt.*;  //添加AWT和Swing库文件
import javax.swing.*;  //Swing库文件
public class LayoutTest extends JFrame     //建立类LayouTest继承于类JFrame
{
    /**
     * 
     */
    private static final long serialVersionUID = -7697840790790026847L;
    JButton btn1,btn2,btn3,btn4,btn5;
    JPanel mainPan;
    FlowLayout fLayout;
    GridLayout gLayput;
    BorderLayout blayout;
    CardLayout cLayout;     //定义布局方式;
    public LayoutTest(String layoutstyle )   //定义构造函数
    {
        super("布局方式"+layoutstyle);
        mainPan=new JPanel();
        fLayout=new FlowLayout(FlowLayout.LEFT);
        GridLayout gLayout = new GridLayout(3,2);
        blayout =new BorderLayout();
        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.print("布局方式输入错误!");    //判断采用何种布局方式;
        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 == "gLayout")
        {
           mainPan.add(btn1);
           mainPan.add(btn2);
           mainPan.add(btn3);
           mainPan.add(btn4);
           mainPan.add(btn5);
        }                   //定义FlowLayout或者GridLayout的布局方式;
       if(layoutstyle =="bLayout"||layoutstyle == "cLayout")
        {
           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 自动生成的方法存根
              new LayoutTest("fLayout");    
              new LayoutTest("gLayout");    
              new LayoutTest("bLayout");    
              new LayoutTest("cLayout");
    }
    }

“`这里写图片描述

知识点:

   布局管理器;
   FlowLayout布局;
   BorderLayout布局;
   CardLayout布局;
   GridLayout布局;
   GridBagLayout布局;
   NULL布局;

在进行界面设计时,一般通过选择合适的控件,并精心的设计这些控件的位置布局来实现用户界面,但是在程序运行过程中,例如如果表单被改变了大小,则控件的布局也可能会随着发生变化。如界面拉伸或者缩小的时候,则表单的内容会显得非常不协调。为了避免这种情况,java提供了布局管理器(LayoutManager)来管理相关的组件,控制容器内的各个组件摆放状态。这样做既可以有序摆放组件,同时也可以在窗口发生变化时会自动更新版面并调整窗口的大小;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章