快速业务通道

Eclipse开发经典教程之SWT布局 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
(5) 时间:2011-04-11 阿甘

GridLayout布局

GridLayout 布局的功能非常强大 ,也是笔者常用的一种布局方式。GridLayout是网格式布局,它把父组件分成一个表格,默 认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格 中。

GridLayout提供了很多的属性,可以灵活设置网格的信息。另外,GridLayout 布局提供了GridData类,子组件可以设置相应的GridData,例如 “dogPhoto.setLayoutData(gridData)”,GridData可以设置每个组件当做单元 格的信息。

GridLayout的风格

GridLayout类提供了GridLayout 布局中划分网 格的信息,主要通过以下几个参数进行设置。

NumColumns:通过 “gridLayout.numColumns”属性可以设置父组件中分几列显示子组件,如表3所 示。

Eclipse开发经典教程之SWT布局 - 编程入门网

MakeColumnsEqualWidth:通过“gridLayout. makeColumnsEqualWidth”属性可以设置父组件中子组件是否有相同的列宽,当 MakeColumnsEqualWidth为true时表示每列的列宽相等。

●MarginLeft:表示当前组 件距离父组件左边距的像素点个数。

●MarginRight:表示当前组件距离父组件右边 距的像素点个数。

●MarginTop:表示当前组件距离父组件上边距的像素点个数。

●MarginBottom:表示当前组件距离父组件下边距的像素点个数。

● HorizontalSpacing:表示子组件的水平间距。

●VerticalSpacing:表示子组件的垂 直间距。

GridData的相关属性

GridLayout布局的灵活之处在于它利用网格布局数据 GridData。通过GridData可以设置子组件在网格中的填充方式、大小边距等信息,用户可以 通过子组件的setLayoutData方法设置网格布局数据。

GridData可以控制子组件在网 格中的位置大小等相关显示信息。GridData可以设置如下的一些属性。

Eclipse开发经典教程之SWT布局 - 编程入门网

Eclipse开发经典教程之SWT布局(6)

时间:2011-04-11 阿甘

● HorizontalAlignment:表示水平对齐方式。水平对齐方式有如下几种,如表4所示,其中 “Button5”按钮显示了水平对齐的方式。

●VerticalAlignment:表示子 组件的垂直对齐方式,值和水平方式一样。

●HorizontalIndent:表示子组件水平偏 移多少像素。

此属性和“horizontalAlignment = GridData.BEGINNING” 属性一起使用。下面代码设置“Button5”水平偏移4像素,如图3所示。

GridData gridData = new GridData(); gridData.horizontalIndent = 4; button5.setLayoutData(gridData);

HorizontalSpan:表示组件水平占 据几个网格。

此属性非常有用,当要设置一个组件占据几个单元格时,需要设置 HorizontalSpan属性。例如,下面代码设置“Button5”按钮水平占据两个网格, 如图4所示。

GridData gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; gridData.horizontalSpan = 2; button5.setLayoutData(gridData);

Eclipse开发经典教程之SWT布局 - 编程入门网

图3 组件水平偏移

Eclipse开发经典教程之SWT布局 - 编程入门网

图4 水平 占据网格

●VerticalSpan:表示组件垂直占据几个网格。

● GrabExcessHorizontalSpace:表示当父组件大小改变时,子组件是否以水平方向抢占空间。

●GrabExcessVerticalSpace:表示当父组件大小改变时,子组件是否以垂直方向抢 占空间。

●WidthHint:表示子组件的宽度为多少像素(前提是未设置其他相关属性 )。

●HeightHint:表示子组件的高度为多少像素(前提是未设置其他相关属性)。

另外,GridData可以通过构造函数指定相应的属性值,有兴趣的读者可以参考 GridData类的构造函数。

Eclipse开发经典教程之SWT布局(7)

时间:2011-04-11 阿甘

GridLayout 布局实例

为了更深入地理解GridLayout 布局,下面通过具体的实例演示如何构建一个比较复杂的布局窗口。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号