JAVA---布局

1:流式布局器

流式布局将组件按照从左到右的顺序自然排列,是缺省的设置方式。

FlowLayout();构建一个新的流式布局器,中央对齐,对象之间以5单元水平和垂直间隔。

FlowLayout(int align);..............通过align设置对齐方式,.............。

FlowLayout(int align,int hgap,int vgap);构建一个新的流式布局器,通过align设置对齐方式,对象之间以hgap单元水平间隔和以vgap单元垂直间隔。

2:边缘布局器

边缘布局器是一个分东(EAST),南(SOUTH),西(WEST),北(NORTH)和中(CENTER)五部分的容器,其构造函数:

BorderLayout();构建一个新的边缘布局,对象之间没有间隔。

BorderLayout(int hgap,int vgap);构建一个新的边缘布局,对象之间的水平间隔为hgap,垂直间隔为vgap。

3:面板

面板是最简单的容器类,应用程序可以在面板提供的空间里任意放置组件和其他面板。

Panel();使用缺省的布局管理器创建一个面板。

Panel(LayoutManager layout);用指定的layout布局管理器创建一个面板。

public void setLayout(LayoutManager mgr);设置布局管理器。

eg:

import java.awt.*;

import java.applet.*;

import java.applet.Applet;

public class UsePanel extends Applet{

           Label lblName,lblNumber,lblSex,lblJob,lblText;

           TextField tfName,tfNumber;

           Checkbox chMale,chFemale;

            CheckboxGroup c;

            TextArea taText;

            Choice chJob;

            Button btnOk,btnCancel;

            Panel p1,p2,p3,p4,p5,p6,p7,p8,p9;

            public void init(){

                        lblName=new Label("姓名:");

                        lblNumber=new Label("身份证号:");

                        lblSex=new Label("性别是:");

                        lblJob=new Label("职业是:");

                        lblText=new Label("个性化宣言:");

                        tfName=new TextField(23);

                        tfNumber=new TextField(20);

                        taText=new TextArea(10,20);

                        c=new CheckboxGroup();

                        chMale=new Checkbox("男",c,true);

                        chFemale=new Checkbox("女",c,false);

                        chJob=new Choice();

                        chJob.add("计算机");

                        chJob.add("医生");

                        chJob.add("教师");

                        chJob.add("军队");

                        btnOk=new Button("确定");

                        btnCancel=new Button("取消");

                        p1=new Panel();

                        p2=new Panel();

                        p3=new Panel();

                        p4=new Panel();

                        p5=new Panel();

                        p6=new Panel();

                        p7=new Panel(new BorderLayout());

                        p8=new Panel();

                        p9=new Panel(new BorderLayout());

                        p1.add(lblName);

                        p1.add(tfName);

                        p2.add(lblNumber);

                        p2.add(tfNumber);

                        p3.add(lblSex);

                        p3.add(chMale);

                        p3.add(chFemale);

                        p4.add(lblJob);

                        p4.add(chJob);

                        p5.add(p3);

                        p5.add(p4);

                        p6.setLayout(new BorderLayout());

                        p6.add(p1,BorderLayout.NORTH);

                        p6.add(p2,BorderLayout.CENTER);

                        p6.add(p5,BorderLayout.SOUTH);

                        p7.add(lblText,BorderLayout.NORTH);

                        p7.add(taText,BorderLayout.CENTER);

                        p8.setLayout(new FlowLayout(FlowLayout.CENTER,30,10));

                        p8.add(btnOk);

                        p8.add(btnCancel);

                        p9.add(p6,BorderLayout.NORTH);

                        p9.add(p7,BorderLayout.CENTER);

                        p9.add(p8,BorderLayout.SOUTH);

                         add(p9);

                               }

}

                       

原文地址:https://www.cnblogs.com/zhouzetian/p/7489606.html