首页 > 编程笔记 > Java笔记 阅读:12

Java Swing BorderLayout布局管理器的用法(附带实例)

在 Java 中用 Swing 创建窗体后,容器默认的布局管理器是边界布局(BorderLayout)管理器,边界布局管理器把容器划分为东、南、西、北、中 5 个区域,如下图所示:


图 1 使用流布局管理器摆放按钮和改变窗体大小后的效果

当组件被添加到被设置为边界布局管理器的容器时,需要使用 BorderLayout 类中的成员变量指定被添加的组件在边界布局管理器中的区域,BorderLayout 类中的成员变量及其说明如下表所示。

表:BorderLayout类中的成员变量及其说明
成员变量 含义
BorderLayout.NORTH 在容器中添加组件时,组件被置于北部
BorderLayout.SOUTH 在容器中添加组件时,组件被置于南部
BorderLayout.EAST 在容器中添加组件时,组件被置于东部
BorderLayout.WEST 在容器中添加组件时,组件被置于西部
BorderLayout.CENTER 在容器中添加组件时,组件被置于中间

当向使用了边界布局管理器的容器中添加组件时:如果不指定要把组件添加到哪个区域,那么当前组件会被默认添加到 CENTER 区域;如果向同一个区域中添加多个组件,那么后放入的组件会覆盖先放入的组件。

add() 方法用于实现向容器中添加组件的功能,它可以设置组件的摆放位置。

add()方法常用的语法格式如下:
public void add(comp: 被添加的组件, constraints: 被添加组件的布局约束对象)

【实例】使用边界布局排列按钮。创建 BorderLayoutPosition 类,并继承 JFrame 类,设置该窗体的布局管理器为边界布局管理器,分别在窗体的中部、北部、南部、西部、东部添加 5 个按钮。
import java.awt.*;
import javax.swing.*;

public class BorderLayoutPosition extends JFrame {
    public BorderLayoutPosition() {
        setTitle("这个窗体使用边界布局管理器");
        Container c = getContentPane();
        setLayout(new BorderLayout());
        JButton centerBtn = new JButton("中");
        JButton northBtn = new JButton("北");
        JButton southBtn = new JButton("南");
        JButton westBtn = new JButton("西");
        JButton eastBtn = new JButton("东");
        c.add(centerBtn, BorderLayout.CENTER); // 向窗体的中部添加按钮
        c.add(northBtn, BorderLayout.NORTH);    // 向窗体的北部添加按钮
        c.add(southBtn, BorderLayout.SOUTH);    // 向窗体的南部添加按钮
        c.add(westBtn, BorderLayout.WEST);      // 向窗体的西部添加按钮
        c.add(eastBtn, BorderLayout.EAST);      // 向窗体的东部添加按钮
        setSize(350, 200);
        setVisible(true);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }

    public static void main(String[] args) {
        new BorderLayoutPosition();
    }
}
运行结果如下图所示:


图 2 使用边界布局管理器摆放按钮

相关文章