SWT应用程序中布局的目的是什么?

SWT应用程序中Layout的用法是什么,因为我们可以在应用程序中省略它。 拥有它有什么好处?

自动布局比手动/绝对布局需要更少的时间。

首先,指定具有所需属性的布局比使用绝对布局更省力。 您可以在自动布局中快速添加,移动或移除项目,而无需调整所有其他项目的绝对位置。

接下来,这些因素有时需要自动布局:

  • 本地化:翻译的标签可以更长或更短,需要进行布局调整。
  • 调整对话框和窗口的大小通常需要调整布局。
  • 正如@Daniel在下面首先指出的那样,控件在不同平台上可能有不同的大小。
  • 字体可能因平台和用户而异。
  • 动态数据。
  • 动态可见性。

控件在每个平台上的大小不同。 由于SWT使用本机控件,因此大小不同:

  • 系统设置(字体大小,边框大小)
  • 操作系统版本(Windows 95与Windows XP对比Windows 7,各不相同)
  • 操作系统(Windows,MacOS,Linux)
  • 窗口管理器(Windows默认,GTK,Motiv,一些奇怪的用户提供的Windows窗口管理器,如ThemeXP Pro )

容器中的组件如何相互关联以及与容器本身相关可能变得复杂。 布局管理器为您封装了这些规则,因此您可以避免处理它们。 例如,当容器resize时,您希望如何更改组件以适应新的大小? 如果你不得不对它进行全部编码,那么就很难完成它。