前文讲解了JFrame、JPanel,其中已经涉及到了空布局的使用。Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了布局管理器,以使编写的图形界面具有良好的平台无关性。
注意:所有的布局管理器均是针对容器来使用的,包括顶层容器和中间容器。
一、布局管理器所属类包
所属类包
布局管理器名称
说明
Java.awt
FlowLayout(流式布局)
组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列
BorderLayout(边界布局)
容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。
GridLayout(网格布局)
容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。
CardLayout(卡片布局)
如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况
GridBagLayout(网格包布局)
GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格
Java.swing
BoxLayout(箱式布局)
允许在容器中纵向或者横向防止多个控件
SprigLayout(弹簧布局)
根据一组约束条件放置控件
无
空布局
不使用布局管理器,按照控件自身提供的大小、位置信息放置控件
二、容器的默认布局管理器
各容器都有默认的布局管理ÿ