Swing Layout布局

Swing Layout布局

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

布局管理器

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

  • 处理容器内的大量控件非常繁琐。
  • 通常,当需要排列它们时,不给出组件的宽度和高度信息。

Java提供了各种布局管理器来定位控件。控件的大小,形状和排列等属性因布局管理器而异。当小应用程序或应用程序窗口的大小改变时,组件的大小,形状和布置也响应地改变,即布局管理器适应小应用程序查看器或应用程序窗口的维度。

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

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

编号 接口 描述说明
1 LayoutManager LayoutManager接口声明需要由类实现的那些方法,其对象将充当布局管理器。
2 LayoutManager2 LayoutManager2LayoutManager的子接口。此接口适用于那些知道如何基于布局约束对象布局容器的类。

AWT布局管理器类

以下是使用AWT设计GUI时常用控件的布局管理器类。

编号 布局管理器类
1 BorderLayout borderlayout布局组件适合五个区域:东,西,北,南和中心。
2 CardLayout CardLayout对象将容器中的每个组件视为卡片。一次只能看到一张卡片。
3 FlowLayout FlowLayout是默认布局,它以方向流布局组件。
4 GridLayout GridLayout以矩形网格的形式布局管理组件。
5 GridBagLayout 这是最灵活的布局管理器类。GridBagLayout对象垂直,水平或沿其基线对齐组件,而不需要相同大小的组件。
6 GroupLayout GroupLayout对组件进行分层分组,以便将它们放置在Container中。
7 SpringLayout SpringLayout根据一组约束定位其关联容器的子项。