Swing 简明教程

SWING - Layouts

布局是指容器内组件的排列。从另一个角度来说,也可以说布局是在容器内将组件放置在特定位置。放置控件的任务由布局管理器自动完成。

Layout Manager

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

  1. 在容器中处理大量控件非常繁琐。

  2. 通常,当我们需要排列组件时,并未提供组件的宽度和高度信息。

Java 提供了各种布局管理器来定位控件。诸如大小、形状和排列之类的属性在不同的布局管理器之间各不相同。当 applet 或应用程序窗口的大小改变时,组件的大小、形状和排列也会相应地改变,即布局管理器适应 applet 查看器或应用程序窗口的尺寸。

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

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

Sr.No.

Interface & Description

1

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

2

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

AWT Layout Manager Classes

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

Sr.No.

LayoutManager & Description

1

BorderLayout BorderLayout 排列组件以适合五个区域:东、西、北、南和中心。

2

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

3

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

4

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

5

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

6

GroupLayout GroupLayout 按层次结构对组件进行分组,以便将其放置在容器中。

7

SpringLayout SpringLayout 根据一组约束将与之关联的容器的子代定位。