布局管理器和容器

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

一些 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 的实例作为其控件关系的一部分添加。在 Visual Editor for Java 中,包含关系显示在 Java Bean 视图和“设计”视图中。换而言之,容器可以包含组件或其他容器。

布局管理器是控制容器内组件的大小和位置的对象。可以将容器上的布局管理器设置为空并允许每个组件自已调整大小和位置。但是,在空布局中,GUI 组件的位置不会对正被调整大小的窗口作出反应。使用布局管理器,而不是让每个组件都具有固定的大小和位置,容器的布局管理器代理其组件的大小和位置调整。

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

“属性”视图屏幕快照

每个布局管理器都有自已的组件分布规则,但是大多数布局管理器都将每个组件放置成使它至少具有其首选大小。带有用户可视字符串的组件(如按钮或标签)的首选大小是动态计算的。因此,如果由于不同语言环境或字体而导致字符串长度更改时,布局管理器将再定位每个组件。当用户在运行时调整了窗口大小时,布局管理器还将对每个组件进行再定位以便优化新的整体大小。这使得布局管理器对于构建用户界面而言,没有什么价值。这些用户界面将被部署在标注字符串、字体或窗口大小可能会改变(例如,由于本地化而改变)的环境中。

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

注意:即使您使用 Visual Editor 中未提供的布局管理器,“设计”视图也仍然能够正确地构造容器并呈示组件。但是,您将无法使用“属性”视图或“设计”视图来更新约束。
相关任务
在 Visual Editor 中定制 UI 布局
使用 SWT 布局管理器
使用 Swing 和 AWT 布局管理器
使用空布局

(C) Copyright IBM Corporation 1999, 2006. All Rights Reserved.