布局管理器是一些对象,它们控制容器中的组件的大小和位置。
一些 Java bean 允许它们自身之间存在关系。例如,类 java.awt.Container 允许将 java.awt.Component 的实例作为其组件关系的一部分添加至该类。java.awt.Container 的一个示例是面板或框架。java.awt.Component 的一个示例是按钮或文本框。在 Visual Editor for Java 中,包含关系显示在 Java Bean 视图和“设计”视图中。
布局管理器是控制容器内组件的大小和位置的对象。可以将容器上的布局管理器设置为空并允许每个组件自已调整大小和位置。但是,GUI 组件的位置将不会反映在调整窗口大小时所作的更改。容器将通过使用布局管理器来进行其组件的大小和位置调整,而不是让每个组件都具有固定的大小和位置。
每个布局管理器都有自已的组件分布规则,但是大多数布局管理器都将每个组件放置成使它至少具有其首选大小。带有用户可视字符串的组件(如按钮或标签)的首选大小是动态计算的。因此,如果由于不同语言环境或字体而导致字符串长度更改时,布局管理器将再定位每个组件。当用户在运行时调整了窗口大小时,布局管理器还将对每个组件进行再定位以便优化新的整体大小。这使得布局管理器对于构建将部署在标注字符串、字体或窗口大小可能会改变的环境中的用户界面而言非常有用。
Swing 和抽象窗口工具箱(AWT)容器使用同一组布局管理器,这些布局管理器主要是 AWT 对象。标准窗口小部件工具箱(SWT)容器使用它们自己的 SWT 布局管理器。