SWT 全接触
2009-12-14 00:00:00 来源:WEB开发网每种布局都有其相应的数据(Layout Data),可以通过Control.setLayoutData()方法来进行关联。以下是一些布局类及其显示效果:
FillLayout:让所有子组件等大小的"填满"整个面板空间。
FillLayout是最简单的一个布局类,它将所有窗口组件放置到一行或一列中,并强制他们的大小也相等。FillLayout不能外覆(wrap),也不能定制边框和距离。很显然这样的限制让这个布局类最适合作类似于计算器面板的布局,或者为Taskbar和Toolbar上面的按钮作布局使用。
RowLayout:类似于AWT中的FlowLayout,让所有组件按行排列,一行排不下就放到下一行。
RowLayout比FillLayout用得更广泛一些,原因很简单,就是RowLayout支持FillLayout所部支持的功能,例如能够外覆,能够修改边框和间距等等。另外,每一个位于RowLayout中的窗口组件都可以通过设定一个RowData类来指定其在RowLayout中的宽度和高度。
GridLayout: GridLayout是3个标准布局类中最有用的,但同时也是最复杂的--没办法,强大的功能必定伴随着一定程度的复杂性。通过GridLayout,一个Composite的子窗口组件被放置在一个网格(Grid)之中。GridLayout有很多配置字段,并且和RowLayout一样,每一个布局于其中的窗口组件都可以有一个与之相关联的布局数据类,称为GridData。GridLayout的强大功能是通过对于每一个窗口组件的GridData 的灵活控制来实现的。
鉴于GridLayout的复杂性(原本我就怀疑它根本就不是为手工书写代码而设计的),我并不建议各位直接手动书写GridData,最好借助可视化的工具(如VI)来帮助我们完成用GridLayout进行的界面设计。这样我们只需要书写少量控制代码,就可以获得复杂的界面布局了。
更多精彩
赞助商链接