SWT/JFace开发入门指南(六)〈转帖〉

SWT/JFace开发入门指南(六)〈转帖〉

使用 Layout 管理 UI 布局

我们在前面在一些例子中已经使用过 Layout 了。那么 Layout 到底是做什么的呢?

我们知道,在设计用户界面时候,我们可以采用的一种办法是手动的为每个部件设置合适当大小和位置。但是这样的话,如果你所要显示的部件比较多,编程量就会非常大,特别是考虑到窗体大小变化时候各种部件的重绘。而实际上,我们可以利用一些通用的规则或者说算法来安排这些部件的排列。比如下图所示的这个窗体:

SWT/JFace开发入门指南(六)〈转帖〉_第1张图片

10

很显然,对于这些规则化的部件排列,应该有一些更简单的办法,而不是在代码的各个部分写 xxx.setBounds 之类。 swt 给我们提供了这样的办法,就是使用 Layout

你可以把一个 Layout 看成是安排部件位置和大小的一个规则,在应用了 Layout Composite (我们在这里第一次提到了 Composite Composite 就是一个能够包含其他控件的容器,比如 Shell 就是一个 Composite ,我们会在后面的部分详细介绍 Composite )中,所有的子控件都会按照这个规则来进行排列。

在目前(写这篇文章的时候 eclipse 最新版本是 3.1M7 ), org.eclipse.swt.layout 包中包含四种已经定义好的 Layout ,它们分别是: FillLayout FormLayou GridLayout RowLayout 。我在这里不再一一作介绍,而是推荐大家看一下这篇文章《 Understanding Layouts in SWT 》。相信如果你有兴趣看完它的话,就会对 Layout 有比较深的了解。

你可能感兴趣的:(SWT/JFace开发入门指南(六)〈转帖〉)