1.布局管理器
布局管理器主要包括:
流程布局FlowLayout
边框布局BorderLayout
网格布局GridLayout
卡布局CardLayout
网格包布局GridBagLayout
一.流程布局 FlowLayout-1
1、FlowLayout是Panel和Applet的缺省布局管理器。
2、组件的放置规律是从左到右、从上到下进行放置 。
3、容器大小改变时,组件大小不变,相对位置会发生变化。
构造函数:
FlowLayout( );
FlowLayout(int align );
FlowLayout(int align, int hgap, int vgap );
参数说明:
缺省的对齐方式居中对齐
默认的组件横纵间隔都是5个像素
align :对齐方式left ,right ,center ,leading ,trailing
hgap: 水平间隔 vgap: 垂直间隔
二. 网格布局 GridLayout-1
1、容器中组件呈网格状布局,平均占据容器的空间。
2、容器中各个组件同高同宽。
3、容器大小改变时,组件位置不变,大小改变。
GridLayout构造函数:
public GridLayout( )
public GridLayout(int rows, int cols)
public GridLayout(int rows, int cols, int hgap, int vgap)
参数说明:
默认情况下,每行一个组件。即只有一列。
rows指定行数,cols指定列数。
hgap: 水平间隔,单位像素。
vgap: 垂直间隔,单位像素
三.边框布局 BorderLayout-1
1、BorderLayout是Window,Frame和Dialog的缺省布局管理器。
2、BorderLayout把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个组件。
3、容器大小变化时,组件相对位置不变,大小发生变化
4、如果四周没有组件,则由中间的组件来填充;如果中间没有组件,则空着。
构造函数:
public BorderLayout( )
public BorderLayout(int hgap, int vgap)
参数说明:
Hgap: 水平间隔,单位像素
Vgap: 垂直间隔,单位像素
如果不制定间隔宽度,则组件间是彼此相邻的。
四.卡布局 CardLayout-1
1、容器分成许多层,每个组件都是重叠的。
2、每个组件占据整个容器的大小。
3、每层只允许放置一个组件 。
4、一次只显示一个组件。
cardLayout构造函数:
public CardLayout()
public CardLayout(int hgap, int vgap)
参数说明
1、默认是无间隔的。
2、hgap 水平间隔,表示组件左右两边和容器的间隔,以像素为单位。
3、vgap 垂直间隔,表示组件上下两边和容器的间隔,以像素为单位。
五.网格包布局 GridBagLayout-1
GridBagLayout提供了一种强大的控制能力,它包括精确判断视窗区域如何布局,以及视窗大小变化时候该如何重新设置组件。
主要是为了辅助GUI构造工具自动生成代码
常用组件
按钮(Button)
public Button()
public Button(String label)
如:
Button b1 = new Button();
Button okb = new Button(“OK”);
标签(Label)
Public Label( )
Public Label(String text)
Public Label(String text,int alignmnet)
如:
Label nameLabel = new Label(“姓名”);
Label sexLabel = new Label(“性别”,Label.CENTER);]
常用组件-2
单行文本输入区(TextField)
public TextField( )
创建一个空字符的输入框
public TextField(String text)
用指定的字符串创建一个输入框
public TextField(int colu)
创建一个空的输入框,规定字符长度类似不超过 col指定的数字
public TextField(String text, int columns)
用指定的字符串创建一个输入框,规定字符长度类似不超过 col指定的数字。
例如:
TextField t1 = new TextField(“name”,10);
TextField t2 = new TextField(“sex”