View on GitHub

Eclipse Tutorial

Ecsoya

online tutorialsWIKIoffline tutorialsPPT

Layouts Tutorial

Layout是用来控制容器(Composite)中控件的位置(position)和大小(size)的机制,前面我们也有提到,如果一个控件没有设置大小,它的默认值是0,就不会显示在界面中(SWT不像swing/JavaFX那样会给控件自动分配大小)。

既然说了控件的位置和大小,有一张图你一定会感兴趣:

这张图详细的描述了Composite(图上是一个TabFolder)的位置相关的属性。 * location:这个Composite的位置。 * clientArea:这个Composite用来放置子控件的区域。 * trim:这个控件用来放置抬头或标题的区域(普通的Composite没有此区域,像Shell,Group,TabFolder这些Composite都有)。 * horizontal margin:水平方向的留白区域,左右两边都有,并且相同。 * vertical margin:垂直方向的留白区域,上下两边都有,并且相同。 *horizontal spacing:水平方向上两个相邻控件之间的留白区域。 *vertical spacing:垂直方向上两个相邻控件之间的留白区域。`


上面说了容器(Composite)中的放置控件的区域,那么关于具体的控件,怎么设置位置(position)和大小(size)呢?


SWT中提供了一些标准的Layout类,当然,你也可以自定义一些Layout,但所有的Layout都必须继承自org.eclipse.swt.widgets.Layout类。

先看看SWT中的标准的Layout吧:它们都包含在org.eclipse.swt.layout.*包中。

在SWT的custom包中也有一个Layout,org.eclipse.swt.custom.StackLayout


参考资料:


Back to Home 上一篇:Drag and Drop Tutorial 下一篇:FillLayout