SWING - 布局

布局是指容器内组件的排列。 换句话说,可以说布局是将组件放置在容器内的特定位置。 布局控件的任务由布局管理器自动完成。


布局管理器

布局管理器自动定位容器内的所有组件。 即使您不使用布局管理器,组件仍由默认布局管理器定位。 可以手动布局控件,但是由于以下两个原因,这变得非常困难。

  • 在容器内处理大量控件非常繁琐。

  • 通常,当我们需要排列组件时,不会给出组件的宽度和高度信息。

Java 提供了各种布局管理器来定位控件。 大小、形状和排列等属性因一个布局管理器而异。 当小程序或应用程序窗口的大小发生变化时,组件的大小、形状和排列也会随之发生变化,即布局管理器会适应小程序查看器或应用程序窗口的尺寸。

布局管理器与每个 Container 对象相关联。 每个布局管理器都是实现 LayoutManager 接口的类的一个对象。

以下是定义布局管理器功能的接口。

序号 接口 & 描述
1 LayoutManager

LayoutManager 接口声明了那些需要由类实现的方法,其对象将充当布局管理器。

2 LayoutManager2

LayoutManager2 是 LayoutManager 的子接口。 该接口适用于那些知道如何根据布局约束对象布局容器的类。


AWT 布局管理器类

以下是使用 AWT 设计 GUI 时常用控件的列表。

序号 布局管理器 & 描述
1 BorderLayout

边界布局安排组件以适应五个区域:东、西、北、南和中心。

2 CardLayout

CardLayout 对象将容器中的每个组件都视为一张卡片。 一次只能看到一张卡片。

3 FlowLayout

FlowLayout 是默认布局。 它以定向流的形式布局组件。

4 GridLayout

GridLayout 以矩形网格的形式管理组件。

5 GridBagLayout

这是最灵活的布局管理器类。 GridBagLayout 的对象垂直、水平或沿其基线对齐组件,而不需要相同大小的组件。

6 GroupLayout

GroupLayout 对组件进行分层分组,以便将它们放置在容器中。

7 SpringLayout

SpringLayout 根据一组约束定位其关联容器的子项。