JAVA入门到精通-第30讲-布局管理器

JFrame默认是边界布局的;
流式布局FlowLayout默认是居中对齐的;
右对齐:

按道理每个按钮可以设置大小;
一旦把布局管理器设置好,按钮大小会自动设置;

null设置按钮大小;
禁止用户改变窗口大小;

网格布局适合做计算器;
对象数组需要NEW一下;

设置网格布局:
(几行,几列)


因为不是简单数组,需要new一个;


边界布局BorderLayout--注意事项
1、不是五个部分都必需添加;
2、中部组件会自动调节大小;
3、JFrame,Jdialog默认布局管理器就是BorderLayout
三大常用布局管理器--流式布局
流式布局FlowLayout--介绍
FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置到下一行中。FlowLayout可以以左对齐、居中对齐、以右对齐的方式排列组件。
xxxxxxxxxx1
53
1
流式布局FlowLayout--使用[Window003.java]2
/**3
* 流式布局FlowLayout使用演示4
* 1、继承JFrame5
* 2、定义你需要的各个组件6
* 3、创建组件(在构造函数中组件)7
* 4、添加组件8
* 5、对窗体设置9
* 6、显示窗体10
*/11
import java.awt.*;12
import javax.swing.*;13
public class Window003 extends JFrame{14
//定义组件15
JButton jb1,jb2,jb3,jb4,jb5,jb6;16
17
public static void main(String[] args) {18
Window003 win=new Window003();19
}20
21
public Window003(){22
//创建组件23
jb1=new JButton("关羽");24
jb2=new JButton("张飞");25
jb3=new JButton("赵云");26
jb4=new JButton("马超");27
jb5=new JButton("黄忠");28
jb6=new JButton("魏延");29
30
//添加各个组件31
this.add(jb1);32
this.add(jb2);33
this.add(jb3);34
this.add(jb4);35
this.add(jb5);36
this.add(jb6);37
38
//设置布局管理器,流式布局默认为居中对齐39
this.setLayout(new FlowLayout(FlowLayout.LEFT));40
//new FlowLayout(FlowLayout.LEFT)流式布局,(FlowLayout.??)??可以设置为不同方式对齐。41
//设置窗体属性42
this.setTitle("流式布局演示");//窗体标题名称43
this.setSize(300, 200);//窗体尺寸44
this.setLocation(200, 200);//窗体在屏幕打开时的初始位置45
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭46
47
//禁止用户改变窗体大小48
this.setResizable(false);49
50
//显示窗体51
this.setVisible(true);52
}53
}------------------------------------------------------------------------------
流式布局FlowLayout--注意事项
1、不限制他所管理的组件大小,允许他们有最佳大小
2、当容器缩放时,组件的位置可能变化,但组件的大小不变。
3、默认组件是居中对齐,可以通过FlowLayout(intalign)函数来指定对齐方式。

---------------------------------------------------------------------------------
三大常用布局管理器--网格
网格布局GridLayout--介绍
GridLayout布局,听其名而知其意,它将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其它的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。
网格布局GridLayout--使用[Window004.java]
1
/**2
* 网格布局GridLayout使用演示3
* 1、继承JFrame4
* 2、定义你需要的各个组件5
* 3、创建组件(在构造函数中组件)6
* 4、添加组件7
* 5、对窗体设置8
* 6、显示窗体9
*/10
import java.awt.*;11
import javax.swing.*;12
public class Window004 extends JFrame{13
//定义组件14
int size=9;15
JButton jbs[]=new JButton[size];16
17
public static void main(String[] args) {18
Window004 win=new Window004();19
}20
21
public Window004(){22
//创建组件23
for(int i=0;i<size;i++){24
jbs[i]=new JButton(String.valueOf(i+1));25
}26
27
//添加各个组件28
for(int i=0;i<size;i++){29
this.add(jbs[i]);30
}31
32
//设置网格布局管理器33
this.setLayout(new GridLayout(3,3,10,10));//new GridLayout(行,列)设置布局有几行几列34
35
//设置窗体属性36
this.setTitle("网格布局演示");//窗体标题名称37
this.setSize(300, 200);//窗体尺寸38
this.setLocation(200, 200);//窗体在屏幕打开时的初始位置39
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭40
41
//禁止用户改变窗体大小42
this.setResizable(false);43
44
//显示窗体45
this.setVisible(true);46
}47
}------------------------------------------------------------------------------
网格布局GridLayout--注意事项
1、组件的相对位置不随容器的缩放而变化,但大小会变化;
2、所有组件的大小相同;
3、可以通过GridLayout(int rows,int cols,int hgap,int vgap)来指定网格的行/列,水平间隙/垂直间隙。
参数说明:rows:行数/cols:列数/hgap:垂直间隙/vgap:水平间隙
三大常用布局管理器--小结
开发GUI程序步骤
1、继承JFrame
2、定义需要的组件
3、创建组件
4、设置布局管理器
5、添加组件
6、显示窗体





浙公网安备 33010602011771号