《化羽Java GUI学习笔记》 我自己的学习笔记以后方便复习,也希望可以给找不到方法学习的人一点点帮助。如果有错误请大家告诉一下相互学习。
边界布局管理器 BorderLayout
1)BorderLayout是顶层布局管理器中内容窗格的默认布局管理器,分成北,南,西,东,中
2) BorderLayout定义在java.awt包中,BorderLayout布局管理器有两种构造方法:
BorderLayout()
BorderLayout(int,int)
前者构造方法各部分间间距为0,后者有指定的间距。
3)在BorderLayout布局管理器的管理下,组件必须通过add()方法加入到容器指定的区域
frame = new JFrame("Frame Title");
button = new JButton("Press Me");
frame.getContentPane().add(button,BordLayout.SOUTH);
最后一行也可写成:
frame.getContentPane().add(button,"South");
注意:区域的名称和字母的大小写一定要书写正确。
4)如果在add()方法中没有指定将组件放到那个区域,那么它将会默认的被放置在Center区域
比如:
frame.getContentPane().add(button);
5)在容器的每个组件区域,只能放置一个组件,如果试图向某个区域加入多各组件,只有最后一个组件是有效的。
6)如果真的希望在某个区域显示多个组件,可以先后先在该区域放置一个内部容器JPanel组件,然后将所有的多个组件放到JPanel中,通过内部容器的套嵌构造复杂的布局。
7)如果某个区域没有使用,Center区域会扩展并占据这个没有使用的区域的位置。
import java.awt.*;
import javax.swing.*;
public class BorderLayoutDemo {
private JFrame frame;
private JButton be,bw,bn,bs,bc;
public static void main(String[] args) {
BorderLayoutDemo that = new BorderLayoutDemo();
that.go();
}
void go() {
frame = new JFrame("Border Layout");
be = new JButton("East");
bw = new JButton("West");
bn = new JButton("North");
bs = new JButton("South");
bc = new JButton("Center");
frame.getContentPane().add(be,BorderLayout.EAST);//添加按钮到东部
frame.getContentPane().add(bw,BorderLayout.WEST);//添加按钮到西部
frame.getContentPane().add(bn,BorderLayout.NORTH);//添加按钮到南部
frame.getContentPane().add(bs,BorderLayout.SOUTH);//添加按钮到北部
frame.getContentPane().add(bc,BorderLayout.CENTER);//添加按钮到中部
frame.setSize(350,200);
frame.setVisible(true);
}
}