布局是指容器内组件的排列。换句话说,布局将组件放置在容器内的特定位置。布局控件的任务由布局管理器自动完成。
布局管理器
布局管理器自动定位容器中的所有组件。即使不使用布局管理器,组件仍然由默认布局管理器定位。可以手动布置控制,但是由于以下两个原因,它变得非常困难。
- 处理容器内的大量控件非常繁琐。
- 通常,当需要排列它们时,不给出组件的宽度和高度信息。
Java提供了各种布局管理器来定位控件。控件的大小,形状和排列等属性因布局管理器而异。当小应用程序或应用程序窗口的大小改变时,组件的大小,形状和布置也响应地改变,即布局管理器适应小应用程序查看器或应用程序窗口的维度。
布局管理器与每个Container
对象相关联。每个布局管理器都是实现LayoutManager
接口的类的对象。
以下是定义布局管理器功能的接口。
编号 | 接口 | 描述说明 |
---|---|---|
1 | LayoutManager | LayoutManager 接口声明需要由类实现的那些方法,其对象将充当布局管理器。 |
2 | LayoutManager2 | LayoutManager2 是LayoutManager 的子接口。此接口适用于那些知道如何基于布局约束对象布局容器的类。 |
AWT布局管理器类
以下是使用AWT设计GUI时常用控件的布局管理器类。
编号 | 布局管理器类 | |
---|---|---|
1 | BorderLayout | borderlayout 布局组件适合五个区域:东,西,北,南和中心。 |
2 | CardLayout | CardLayout 对象将容器中的每个组件视为卡片。一次只能看到一张卡片。 |
3 | FlowLayout | FlowLayout 是默认布局,它以方向流布局组件。 |
4 | GridLayout | GridLayout 以矩形网格的形式布局管理组件。 |
5 | GridBagLayout | 这是最灵活的布局管理器类。GridBagLayout 对象垂直,水平或沿其基线对齐组件,而不需要相同大小的组件。 |
6 | GroupLayout | GroupLayout 对组件进行分层分组,以便将它们放置在Container 中。 |
7 | SpringLayout | SpringLayout 根据一组约束定位其关联容器的子项。 |