awt的BorderLayout布局1

布局管理器LayoutManager是一个接口 LayoutManager接口下有两个实现类分别是GridLayout、FlowLayout LayoutManager接口下有一个子接口是LayoutManager2 LayoutManager2接口下有三个实现类分别是CardLayout、GridBagLayout、BorderLayout

 

布局管理器LayoutManager共提供了5个实现类,即java的jdk共提供了5种布局管理器,如下

GridLayout:网格布局管理器 FlowLayout:流式布局管理器 CardLayout:卡片布局管理器 GridBagLayout:网格包布局管理器 BorderLayout:边框布局管理器

 

BorderLayout将容器分为EAST、SOUTH、WEST、NORTH、CENTER也就是右下左上中五个区域,普通组件可以被放置在这五个区域的任意一个里面

当改变使用BorderLayout的容器大小时,NORTH、SOUTH、CENTER区域水平调整,而EAST、WEST和CENTER区域数值调整

使用BorderLayout时有如下两个注意点: 1、当向使用BorderLayout布局管理器的容器中添加组件时,需要指定要添加到哪个容器中。如果没有指定添加到哪个区域中,则默认添加到中间区域 2、如果向一个区域中添加多个组件时,后放入的组件会覆盖先放入的组件

BorderLayout管理器是一个类,它的构造方法如下。注意hgap是垂直间距、vgap是水平间距

构造方法作用
BorderLayout()使用默认的水平间距、默认的垂直间距创建BorderLayout布局管理器
BorderLayout(int hgap,int vgap)使用指定的水平间距、指定的垂直间距创建BorderLayout布局管理器

 

awt的BorderLayout布局1_练习

 

awt的BorderLayout布局2

总结: 1、如果不往某个区域里面放置组件,那这个区域就会被别的区域的组件占用 2、在某个区域里放置组件时,如果不指定位置,那么该组件就会在该区域的中间位置 3、同一个区域如果放置多个组件,那么只有最后放置的那个组件才会生效 4、如何在同一个区域放置多个组件,且多个组件都生效。只需要把多个组件都放在Panel区域里面,再把Panel区域放在Frame区域里面即可

 

awt的BorderLayout布局2_练习