Layout在SWT应用程序中的用途是什么,因为我们可以在应用程序中省略它。拥有它有什么好处?
自动布局比手动/绝对布局需要更少的时间。
首先,与绝对布局相比,指定具有所需属性的布局总体上不太费力。您可以在自动布局中快速添加、移动或删除项目,而无需调整所有其他项目的绝对位置。
接下来,这些因素有时使自动布局成为必要:
- 本地化:翻译后的标签可以更长也可以更短,需要调整布局
- 调整对话框和窗口的大小经常需要调整布局
- 正如@Daniel在下面首先指出的,控件在不同的平台上可能有不同的大小
- 字体可能因平台和用户而异
- 动态数据
- 动态可见性
并非每个平台上的控件大小都相同。由于SWT使用本地控件,因此大小在以下方面有所不同:
- 系统设置(字体大小、边框大小)
- 操作系统版本(Windows 95与Windows XP与Windows 7,完全不同)
- 操作系统(Windows、MacOS、Linux)
- 窗口管理器(Windows默认,GTK,Motiv,一些奇怪的用户提供的Windows窗口管理器,如ThemeXP Pro)
容器中的组件如何相互关联以及与容器本身的关系可能会变得复杂。布局管理器为您封装了这些规则,这样您就可以避免处理它们。例如,当调整容器的大小时,您希望如何更改组件以适应新的大小?如果你必须对它进行编码,那么很难把它做好。