Swing - 布局



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

布局管理器

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

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

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

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

每个容器对象都关联了一个布局管理器。每个布局管理器都是实现 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 以层次结构对组件进行分组,以便将其定位在容器中。

7 SpringLayout

SpringLayout 根据一组约束条件来定位其关联容器的子元素。

广告