按钮布局演示
2017-10-31 20:28
239 查看
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); //创建4种布局方式的对象 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); 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或者GridLayout的布局方式 { mainPan.add(btn1); mainPan.add(btn2); mainPan.add(btn3); mainPan.add(btn4); mainPan.add(btn5); } if(layoutstyle =="bLayout"||layoutstyle == "cLayout") //定义发BorderLayout或者GardLayout的布局方式 { 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"); } }
结果为:
知识要点:
1.布局管理器 :
在进行界面设计时,一般通过选择合适的控件,并精心设计这些控件的位置布局来实现用户界面。
java中的布局有六种:FlowLayout(流式布局)、BordLayout(边界布局)、CardLayout(卡片布局)、 CridLayout(网格布局)、CridBagLayout(网格袋布局)、 NULL(空布局)。
2.FlowLayout布局 :
FlowLayout的构造方法有:
public FlowLayout ();
public FlowLayout (int alignment);其中,参数alignment的取值有FlowLayout.LEFT,FlowLayout RIGHT,FlowLayout .CENTER(默认值)。
3.BordLayout布局
4.CardLayout布局
5.CridLayout布局
6.CridBagLayout布局 :
CridBagLayout是java中一种更为灵活的行列网格布局,它允许组合合并单元格后放置,即组件在水平或垂直方向上可以用一个或多个单元格,从而使布局中的组件大小可以一样。
7.NULL布局