第四章 第二节 布局

第二节 布局(layout)

返回目录

 

composite中的控件(controls in a composite)与这个composite之间,布局为它们提供了松耦合(decoupling layer)。布局一般使用平台无关的方式,而且通常在父窗体改变大小时保持相应大小(maintains relative sizing)。可以通过compositesetLayout()方法设置composite的布局。

所有可用的布局都在org.eclipse.swt.widgets.Layout中。它是一个抽象类,现在还没有任何实现(implementation)(因此,它在widgets包中,而不是layout——这样,与它在同一个包中的复合控件,就可以调用layout类的protected方法)。布局class没有publicAPI,因此创建layout类并把它关联到复合对象,再让SWT构架(SWT framework)调用必要的方法才可使用布局。

尽管一个复合控件只能有一种布局,但可以在一个窗体中创建多个复合控件,每个有它自己的布局。而且复合控件可以嵌套[1]。因为每个复合控件有独立于其它复合控件的布局对象,所以读者可以在同一个窗体中使用任意多的布局class来达到自己想要的整体布局。



[1] 译注:即复合控件中的控件可以是另一个复合控件。

 

返回目录

posted @ 2011-09-10 20:40  ols  阅读(233)  评论(0编辑  收藏  举报