import java.awt.*;
import javax.swing.*;
public class LayoutTest extends 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);
gLayout=new GridLayout(3,2);
bLayout=new BorderLayout();
cLayout=new CardLayout(10,10);
if(layoutstyle=="fLayout") //start.判断采用何种布局方式,
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("布局方式输入错误!"); //判断end
getContentPane().add(mainPan);
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") //start.定义FlowLayout或者GridLayout的布局方式。
{
mainPan.add(btn1);
mainPan.add(btn2);
mainPan.add(btn3);
mainPan.add(btn4);
mainPan.add(btn5);
} //定义end
if(layoutstyle=="bLayout"||layoutstyle=="cLayout") //start.定义BorderLayout或者CardLayout的布局方式。
{
mainPan.add(btn1,"East");
mainPan.add(btn2,"South");
mainPan.add(btn3,"West");
mainPan.add(btn4,"North");
mainPan.add(BorderLayout.CENTER,btn5);
} //定义end
setSize(250,150); //设置界面宽度和高度。
setVisible(true); //设置界面的可见性
setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗口关闭时的默认操作。
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new LayoutTest("fLayout");
new LayoutTest("gLayout");
new LayoutTest("bLayout");
new LayoutTest("cLayout");
}
}
运行结果:
知识要点:。布局管理器
。FlowLayout布局
。BorderLayout布局
。CardLayout布局
。GridLayout布局
。GridBagLayout布局
。UNULL布局