您的位置:首页 > 编程语言 > Java开发

Java:按钮布局演示

2017-10-24 21:40 543 查看
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”);

}

运行结果:



程序分析:

在界面中放入容器,在容器中放入5个按钮,并设定容器中按钮采用不同的布局方式,分别是FlowLayout(流式布局),GridLayout(网格布局),BorderLayout(边界布局),CardLayout(卡片布局)。

知识点:

布局管理器:java中的布局有以下几种:

1)FlowLayout(流式布局)

2)BorderLayout(边界布局)

3)CardLayout(卡片布局)

4)GridLayout(网格布局)

5)GridBagLayout(网格袋布局)

6)NULL(空布局)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: