常用布局:
1.边局管理: Frame的默认布局,内部组件摆放: 东、西、南、北、中
setLayout( new BorderLayout() );
Button btn1 = new Button("OKOK");
Button btn2 = new Button("NONO");
Button btn3 = new Button("111111");
Button btn4 = new Button("222222");
Button btn5 = new Button("333333");
add(btn1);//默认是加在中间
add(btn2, BorderLayout.WEST);
add(BorderLayout.SOUTH, btn3);
add(btn4,"North"); //位置用字符串时,首字母大写
add("East",btn5);
2.网格布局管理: 把整个区域均匀划分成 m行n列 的网格,每个格子放一个组件
//setLayout( new GridLayout(5, 4) );
setLayout( new GridLayout(5, 4, 10, 5) );
Button btns[] = new Button[18];
for(int i=0;i<btns.length;i++){
btns[i]=new Button(i+1+"");
add(btns[i]);//未指定位置,按先后顺序依次入座
}
Button btn = new Button("=");
add(btn,3);//指定位置,相比未指定位置的那些组件优先级更高
add( new Label("aa"), 3 ); //后指定位置,优先级比前面指定位置更高
3.流布局管理: 上一行能放下就放,放不下就放下一行,每个组件的大小是默认
//空参: 居中对齐的,默认的水平和垂直间隙是 5 个单位
//setLayout( new FlowLayout() );//设置布局管理。
//1个参: 指定对齐方式
//setLayout(new FlowLayout(FlowLayout.RIGHT));
//3个参: 指定的对齐方式以及指定的水平和垂直间隙
//setLayout(new FlowLayout(FlowLayout.LEFT,10,30));
//先设置,再更改布局方式
final FlowLayout layout = new FlowLayout(FlowLayout.RIGHT);
setLayout( layout );
4.空布局管理: 每个组件的位置和大小由各个组件自己决定
setLayout( null );
//要自己设置组件的大小和位置
Button btn1 = new Button("111");
btn1.setLocation(50, 60);
btn1.setSize(50, 30);
add(btn1);
Button btn2 = new Button("222");
btn2.setBounds(130, 60, 50, 30);
add(btn2);