布局意味着容器内组件的安排。我们可以说,用其他方式在容器的特定位置放置组件。布局控件的任务是由布局管理器自动完成的。
布局管理器自动放置容器内的所有组件。如果我们不使用布局管理器,然后组件也能由默认的布局管理器放置。手工布局控件也是可能的,但是由于以下两个原因,它变得非常困难。
在容器内处理大量的控件是非常繁琐的。
Java 为我们提供了各种布局管理器来放置控件。属性如大小,形状和排列从一个布局管理器到其他的布局管理器变化。当小应用程序或应用程序窗口的大小改变时,组件的大小,形状和排列的组件也相应的变化,即布局管理器适应小应用程序视图或应用程序窗口的尺寸。
布局管理器与每一个容器对象相关联。每一个布局管理器是实现布局管理接口的类的一个对象。
下面是接口定义的布局管理器的功能。
序号 | 接口 & 描述 |
---|---|
1 | LayoutManager LayoutManager 接口声明那些需要由类来实现的方法,这些类的对象将充当一个布局管理器。 |
2 | LayoutManager2 LayoutManager2 是 LayoutManager 的子接口。这个接口是为那些知道如何基于布局约束对象来布局容器的类。 |
下面是当使用 AWT 设计 GUI 时常用的控件列表。
序号 | 布局管理器 & 描述 |
---|---|
1 | BorderLayout Borderlayout 安排组件适应于五个地区:东、西、北、南和中心。 |
2 | CardLayout CardLayout 对象把容器中的每一个组件看成一个卡片。一次只有一个卡片是可见的。 |
3 | FlowLayout FlowLayout 是默认的布局。它用定向流动来布局组件。 |
4 | GridLayout GridLayout 用一个矩形网格形式来管理组件。 |
5 | GridBagLayout 这是最灵活的布局管理器类。在不需要相同大小的组件的情况下,GridBagLayout 对象垂直、水平或沿着它们的基线来排列组件。 |
6 | GroupLayout GroupLayout 分层次地归类组件,为了在一个容器中放置它们。 |
7 | SpringLayout SpringLayout 根据一组约束安置与它相关的容器的孩子。 |