一个友好的读者界面是一款软件成功的关键因素之一。布局管理器就是用来管理读者的界面。摆放的效果直接影响到界面是否美观。布局管理器通过布局管理类来对各种读者组件进行管理。
使用布局管理器,不仅可以有序的排列组件,而且当窗体发生变化时,布局管理器很根据新版面来适配窗口大小。
如果设计时未指定组件的布局管理器,则使用默认布局管理器。默认布局管理器层次关系如图所示:

下面为大家介绍几种常用的布局管理器。
borderlayout是定义在awt包中的布局管理器。borderlayout把容器简单的划分为东、西、南、北、中5个区域,当使用该布局时,要指明组件添加在哪个区域。若为指明则默认加入到中间区域。每个区域只能加入一个组件,后加入的组件会覆盖前面一个。
方法名
说明
borderlayout()
构造一个组件之间没有间距的新边框布局
borderlayout(int hgap, int vgap)
构造一个具有指定组件间距的边框布局
下面通过一个示例来演示borderlayout的使用
运行效果:
flowlayout是定义在awt包中的布局管理器。flowlayout默认的对齐方式为居中对齐,可以在实例对象的时候指定对齐方式。flowlayout布局方式为自左向右排列,当一行排满后自动换行。
flowlayout()
构造一个新的 flowlayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位
flowlayout(int align)
构造一个新的 flowlayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位
flowlayout(int align, int hgap, int vgap)
创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙
gridlayout是定义在awt包中的布局管理器。gridlayout布局管理器将组件按照网格方式排列,将容器分成规则矩形块,每个组件尽可能占据每块空间。
gridlayout()
创建具有默认值的网格布局,即每个组件占据一行一列
gridlayout(int rows, int cols)
创建具有指定行数和列数的网格布局
gridlayout(int rows, int cols, int hgap, int vgap)
下面通过一个示例来演示gridlayout的使用
顾名思义,绝对位置布局就是不使用任何布局管理器,将组件放在固定的位置。正常情况下不建议使用该方式,使用这种方式组件的位置和大小不会自动适配,当容器大小改变时,组件显示效果可能会变的不理想。