package pank;
import java.awt.*;//添加AWT库文件
import javax.swing.*;//添加swing库文件
public class anliu extends JFrame//创建类anliu继承类JFrame
{
JButton btn1,btn2,btn3,btn4,btn5;
JPanel mainPan;//布局管理
FlowLayout fLayout;//流式布局
GridLayout gLayput;//网格布局
BorderLayout blayout;//边界布局
CardLayout cLayout;//卡片布局
public anliu(String layoutstyle )
{//构造函数,创建4种布局方式的对象
super("布局方式"+layoutstyle);
mainPan=new JPanel();
fLayout=new FlowLayout(FlowLayout.LEFT);
GridLayout 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.print("布局方式输入错误!");
getContentPane().add(mainPan);//创建5个按钮对象
btn1=new JButton("按钮1");
btn2=new JButton("按钮2");
btn3=new JButton("按钮3");
btn4=new JButton("按钮4");
btn5=new JButton("按钮5");
if(layoutstyle =="fLayout"||layoutstyle == "gLayout")//定义Flowlayout或者Gridlayout的布局方式
{
mainPan.add(btn1);
mainPan.add(btn2);
mainPan.add(btn3);
mainPan.add(btn4);
mainPan.add(btn5);
}
if(layoutstyle =="bLayout"||layoutstyle == "cLayout")定义bLayout或者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 anliu("fLayout");//通过助函数调用流式布局的方法
new anliu("gLayout");//通过助函数调用网格布局的方法
new anliu("bLayout");//通过助函数调用边界布局的方法
new anliu("cLayout");//通过助函数调用卡片布局的方法
}
}
运行结果如下:
知识点:
1,4种布局方式的定义与使用
FlowLayout fLayout;//流式布局
GridLayout gLayput;//网格布局
BorderLayout blayout;//边界布局
CardLayout cLayout;//卡片布局
2,if语句的镶嵌使用,
3,类的继承与扩展。
4,成员方法与变量的使用