BorderLayout布局管理器为在一个Panel或Window中放置组件提供一
个更复杂的方案。BorderLayout布局管理器包括五个明显的区域:东、南、
西、北、中。
北占据面板的上方,东占据面板的右侧,等等。中间区域是在东、南、西、
北都填满后剩下的区域。当窗口垂直延伸时,东、西、中区域也延伸;而当
窗口水平延伸时,东、西、中区域也延伸。
BorderLayout布局管理器是用于Dialog和Frame的缺省布局管理器。
其划分界面如图
下面这一行构造并安装一个新Border布局管理器,在组件之间没有间隙:
setLayout(new BorderLayout());
这一行构造并安装一个Border布局,在组件之间有由hgap和 vgap 规定的间隙:
setLayout(new BorderLayout(int hgap, int vgap);
在向使用BorderLayout布局管理器管理的界面添加组件时,默认的将加入
到中间,如果添加的其它组件未指定添加方位将互相覆盖,只有最后添加上
去的组件方可看见。
下面的代码对前例进行了修改,表示出了Border布局管理器的特性。可以
用从Container类继承的setLayout()方法来将布局设定为Border布
局。
import java.awt.*;
public class ExGui2 {
private Frame f;
private Button bn, bs, bw, be, bc;
public static void main(String args[]) {
ExGui2 guiWindow2 = new ExGui2();
guiWindow2.go();
}
public void go() {
f = new Frame("Border Layout");
bn = new Button("B1");
bs = new Button("B2");
be = new Button("B3");
bw = new Button("B4");
bc = new Button("B5");
f.add(bn, BorderLayout.NORTH);
f.add(bs, BorderLayout.SOUTH);
f.add(be, BorderLayout.EAST);
f.add(bw, BorderLayout.WEST);
f.add(bc, BorderLayout.CENTER);
f.setSize(200, 200);
f.setVisible(true);
}
}
这段代码产生如图10.5效果
更多Java教程