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 根据一组约束定位其关联容器的子项。 |