Swing 简明教程
SWING - Layouts
布局是指容器内组件的排列。从另一个角度来说,也可以说布局是在容器内将组件放置在特定位置。放置控件的任务由布局管理器自动完成。
Layout Manager
布局管理器自动定位容器内的所有组件。即使您不使用布局管理器,组件仍然会由默认布局管理器定位。动手放置控件是可能的,但是由于以下两个原因,这变得非常困难。
-
在容器中处理大量控件非常繁琐。
-
通常,当我们需要排列组件时,并未提供组件的宽度和高度信息。
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 根据一组约束将与之关联的容器的子代定位。 |