布局管理器和容器

布局管理器是控制容器中组件的大小和位置的对象。

允许在某些 Java™ bean 之间存在关系。例如,类 java.awt.Container 允许将 java.awt.Component 的实例作为其组件关系的一部分添加至它本身。java.awt.Container 的示例为面板或框架。java.awt.Component 的示例为按钮或文本框。SWT 类 org.eclipse.swt.widgets.Composite 允许将 org.eclipse.swt.widgets.Control 的实例作为其控件关系的一部分来添加。在 Java 可视编辑器中,包含关系将显示在 Java bean 视图和“设计”视图中。换句话说,容器可以包含组件或其他容器。

布局管理器是控制容器中组件的大小和位置的对象。您可以将容器上的布局管理器设置为 NULL,从而让每个组件控制自己的大小和位置。但是,在 NULL 布局中,GUI 组件的位置将不会影响窗口调整大小。 使用布局管理器,而不是让每个组件有固定的大小和位置,容器的布局管理器会为其组件分配大小和位置。

在“属性”视图中可为容器设置布局属性:

“属性”视图屏幕快照

每个布局管理器都有自己分布组件的规则,但是大多数布局管理器放置每个组件的规则是使其至少具有首选大小。具有用户可视字符串的组件(如按钮或标签)的首选大小是动态计算的。所以,当由于不同的语言环境或字体而导致字符串长度更改时,布局管理器会重新安排每个组件的位置。当用户在运行时调整了窗口的大小时,布局管理器也会重新安排每个组件的位置以优化新的总体大小。这使得布局管理器成为构建用户界面的重要工具,用户界面将在标签字符串、字体或窗口大小可能变化(例如,由于本地化)的环境中进行部署。

Swing 和抽象窗口工具箱 (AWT) 容器使用同一组布局管理器,其中大部分是 AWT 对象。标准窗口小部件工具箱 (SWT) 组合体使用它们自己的 SWT 布局管理器。

注: 如果使用可视编辑器中未提供的布局管理器,“设计”视图将仍正确构造容器并呈现组件。 但是,您无法使用“属性”视图或“设计”视图来更新约束。

反馈