在默认不指定窗体布局的情况下,Swing组件的布局模式是边界(BorderLayout)布局管理器。边界布局管理器可以将容器划分为东、南、西、北、中5个区域,可以将组件加入到这5个区域中。容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域,区域的控制可以由BorderLayout类中的成员变量来决定,这些成员变量的具体含义如下:
成员变量 | 含义 |
---|---|
BorderLayout.NORTH | 在容器中添加组件时,组件置于顶端 |
BorderLayout.SOUTH | 在容器中添加组件时,组件置于底端 |
BorderLayout.EAST | 在容器中添加组件时,组件置于右端 |
BorderLayout.WEST | 在容器中添加组件时,组件置于左端 |
BorderLayout.CENTER | 在容器中添加组件时,组件置于中间开始填充,直到与其他组件边界连接 |
实例
import java.awt.*;
import javax.swing.*;
public class Demo4 extends JFrame{
public Demo4() {
setBounds(100,100,350,200);//设置窗体坐标和大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序
Container c = getContentPane();//定义一个容器
c.setLayout(new BorderLayout());//设置容器为边界布局管理器
JButton b1=new JButton("中"),//创建按钮
b2=new JButton("东"),
b3=new JButton("西"),
b4=new JButton("南"),
b5=new JButton("北");
c.add(b1,BorderLayout.CENTER);//在容器中添加按钮,并设置按钮布局
c.add(b2,BorderLayout.EAST);
c.add(b3,BorderLayout.WEST);
c.add(b4,BorderLayout.SOUTH);
c.add(b5,BorderLayout.NORTH);
setVisible(true);//设置窗体为可见
}
public static void main(String[] args) {
new Demo4();
}
}
实验结果