摘要:Java布局BorderLayout,BorderLayout(边界布局管理器)是一种较为复杂的布局方式,它将容器划分为五个区域,分别是东(EAST)南(SOUTH)、西(WEST)北(NORTH)、中(CENTER)。。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。
BorderLayout(边界布局管理器)是一种较为复杂的布局方式,它将容器划分为五个区域,分
别是东(EAST)南(SOUTH)、西(WEST)北(NORTH)、中(CENTER)。组件可以被放置在这五个区域的
中任意一个。BorderLayout 布局的效果如图 11 -17 所示。
图 11-17 BorderLayout 的布局
从图 11-17 可以看出 BorderLayout 边界布局管理器,将容器划分为五个区域,其中箭头是
指改变容器大小时,各个区域需要改变的方向,也就是说,在改变容器时 NORTH 和 SOUTH 区
域高度不变长度调整,WEST 和 EAST 区域宽度不变高度调整,CENTER 会相应进行调整。
当向 BorderLayout 布局管理器的容器中添加组件时,需要使用 add(Component
comp,Object constraints) 方法,其中参数 constraints 是 Object 类型,在传参时可以使用
BorderLayout 类提供的 5 个常量,它们分别是 EAST,SOUTH,WEST,NORTH 和 CENTER。
接下来通过一个案例来演示一下 BorderLayout 布局管理器对组件布局的效果,如例 11-9 所
示。
例 11-11 Example09.java;’
import java.awt.*;
public class Example09 {
public static void main(String[] args) {
final Frame f = new Frame("BorderLayout");// 创建一个名为 BorderLayout 的窗体
f.setLayout(new BorderLayout()); // 设置窗体中的布局管理器为
BorderLayout
f.setSize(300,300); // 设置窗体大小
f.setLocation(300, 200);// 设置窗体显示的位置
f.setVisible(true); // 设置窗体可见
// 下面的代码是创建 5 个按钮,分别用于填充 BorderLayout 的 5 个区域
Button but1 = new Button("东部"); // 创建新按钮
Button but2 = new Button("西部");
Button but3 = new Button("南部");
Button but4 = new Button("北部");
Button but5 = new Button("中部");
// 下面的代码是将创建好的按钮添加到窗体中,并设置按钮所在的区域
f.add(but1,BorderLayout.EAST); // 设置按钮所在区域
f.add(but2,BorderLayout.WEST);
f.add(but3,BorderLayout.SOUTH);
f.add(but4,BorderLayout.NORTH);
f.add(but5,BorderLayout.CENTER);
}
}
编译运行程序,生成的窗口如图 11-18 所示。
例 11-9 中,为 Frame 容器设置了 BorderLayout 布局管理器(也可以不用设置,Frame 默认
就是使用 BorderLayout 布局管理器),将容器的东、南、西、北、中五个区域放置了 5 个按钮。
图 11-18 例 11-9 运行结果
BorderLayout 的好处就是可以限定各区域的边界,当用户改变容器窗口大小时,各个组件
的相对位置不变。但需要注意的是,向 BorderLayout 的布局管理器添加组件时,如果不指定添
加到哪个区域,则默认添加到 CENTER 区域,并且每个区域只能放置个组件,如果向一个区域
中添加多个组件时,后放人的组件会覆盖先放人的组件。