SWT布局管理器(Standard Wdiget Toolkit)
为了设置组件的大小和位置,可以通过编程的方式来完成,但是当窗口大小发生变化时,需要添加监听器进行控制,另外一种方式就是使用布局管理器来管理组件的布局。SWT提供了四种布局管理器,分别为FillLayout、RowLayout、GridLayout和FormLayout。布局管理器是Plugable的,为组件设置布局管理器通过setLayout(Layout)方法完成,可以通过实现Layout,来添加自定义的布局管理器。
FillLayout:FillLayout是最基本的布局管理器。当将组件添加到屏幕时,FillLayout安排他们的水平成行,垂直成列。它将组件平均的放置,以使组件填满Composite。FillLayout不包含布局数据,所以只需要为其定义是水平摆放还是垂直摆放组件。
当希望均匀的摆放组件,例如标签列表,按钮列表时,可以使用这个布局管理器。
FillLayout布局管理器的一个优点是当改变屏幕的大小时,组件仍然是均匀放置的。GridLayout也可以实现这样的效果,但是需要做更多额外的工作。
下面的代码演示了如果使用FillLayout布局管理器来排放标签,注:不需要为标签设置任何属性,布局管理器会处理大小,位置等属性。
shell.setLayout(new FillLayout(SWT.VERTICAL));
Label label0 = new Label(shell, SWT.NONE);
label0.setText("Instructions:");
......
Label label5 =