Java:按钮布局演示

import java.awt.*;
import javax.swing.*;
public class LayoutTest extends JFrame { //创建类LayoutTest继承于类JFrame
JButton btn1,btn2,btn3,btn4,btn5;
JPanel mainPan;
FlowLayout fLayout;//定义布局方式
GridLayout gLayout;
BorderLayout bLayout;
CardLayout cLayout;
public LayoutTest(String layoutstyle){ //定义构造函数
super(“布局方式: “+layoutstyle);
mainPan=new JPanel();
fLayout=new FlowLayout(FlowLayout.LEFT);//创建4种布局方式的对象
gLayout=new GridLayout(3,2);
bLayout=new BorderLayout();
cLayout=new CardLayout(10,10);
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”); //创建5个按钮类的对象
btn2=new JButton(“按钮2”);
btn3=new JButton(“按钮3”);
btn4=new JButton(“按钮4”);
btn5=new JButton(“按钮5”);
if(layoutstyle==”fLayout” || layoutstyle==”gLayout”)//定义FlowLayout或者CridLayout的布局方式
{
mainPan.add(btn1);
mainPan.add(btn2);
mainPan.add(btn3);
mainPan.add(btn4);
mainPan.add(btn5);
}
if(layoutstyle==”bLayout” || layoutstyle==”gLayout”)//定义BorderLayout或者CardLayout的布局方式
{
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”);
}
运行结果:
Java:按钮布局演示
程序分析:
在界面中放入容器,在容器中放入5个按钮,并设定容器中按钮采用不同的布局方式,分别是FlowLayout(流式布局),GridLayout(网格布局),BorderLayout(边界布局),CardLayout(卡片布局)。
知识点:
布局管理器:java中的布局有以下几种:
1)FlowLayout(流式布局)
2)BorderLayout(边界布局)
3)CardLayout(卡片布局)
4)GridLayout(网格布局)
5)GridBagLayout(网格袋布局)
6)NULL(空布局)