Eclipse开发经典教程:SWT布局(三)
来源:互联网 发布:网络棋牌代理赚钱吗 编辑:程序博客网 时间:2024/05/26 07:30
GridLayout布局
GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式。GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格中。
GridLayout提供了很多的属性,可以灵活设置网格的信息。另外,GridLayout 布局提供了GridData类,子组件可以设置相应的GridData,例如“dogPhoto.setLayoutData(gridData)”,GridData可以设置每个组件当做单元格的信息。
GridLayout的风格
GridLayout类提供了GridLayout 布局中划分网格的信息,主要通过以下几个参数进行设置。
NumColumns:通过“gridLayout.numColumns”属性可以设置父组件中分几列显示子组件,如表3所示。
MakeColumnsEqualWidth:通过“gridLayout. makeColumnsEqualWidth”属性可以设置父组件中子组件是否有相同的列宽,当MakeColumnsEqualWidth为true时表示每列的列宽相等。
●MarginLeft:表示当前组件距离父组件左边距的像素点个数。
●MarginRight:表示当前组件距离父组件右边距的像素点个数。
●MarginTop:表示当前组件距离父组件上边距的像素点个数。
●MarginBottom:表示当前组件距离父组件下边距的像素点个数。
●HorizontalSpacing:表示子组件的水平间距。
●VerticalSpacing:表示子组件的垂直间距。
GridLayout布局的灵活之处在于它利用网格布局数据GridData。通过GridData可以设置子组件在网格中的填充方式、大小边距等信息,用户可以通过子组件的setLayoutData方法设置网格布局数据。
GridData可以控制子组件在网格中的位置大小等相关显示信息。GridData可以设置如下的一些属性。
●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);
图3 组件水平偏移 图4 水平占据网格
●VerticalSpan:表示组件垂直占据几个网格。
●GrabExcessHorizontalSpace:表示当父组件大小改变时,子组件是否以水平方向抢占空间。
●GrabExcessVerticalSpace:表示当父组件大小改变时,子组件是否以垂直方向抢占空间。
●WidthHint:表示子组件的宽度为多少像素(前提是未设置其他相关属性)。
●HeightHint:表示子组件的高度为多少像素(前提是未设置其他相关属性)。
另外,GridData可以通过构造函数指定相应的属性值,有兴趣的读者可以参考GridData类的构造函数。
- Eclipse开发经典教程:SWT布局(三)
- Eclipse开发经典教程:SWT布局(一)
- Eclipse开发经典教程:SWT布局(二)
- Eclipse开发经典教程:SWT布局(四)
- Eclipse开发经典教程之常用SWT组件
- Eclipse开发经典教程:代码重构(三)
- Eclipse插件开发系列5.SWT中的布局管理器(4)
- Eclipse插件开发系列5.SWT中的布局管理器(3)
- Eclipse开发经典教程:单元测试
- Eclipse SWT开发入门
- SWT/JFace开发入门指南(三)
- SWT/JFace开发入门指南(三)
- Eclipse开发经典教程:常用快捷键
- Eclipse开发经典教程:常用快捷键
- Eclipse开发经典教程:常用快捷键
- Eclipse开发经典教程:常用快捷键
- Eclipse开发经典教程:常用快捷键
- Eclipse开发经典教程:代码重构
- S3C2410 DMA原理与实例
- Vb.net向sql server数据库中保存图片及图片管理
- 一个常见REST应用场景的困惑和探究
- 高贵之谈
- 如何管理SQL脚本?
- Eclipse开发经典教程:SWT布局(三)
- webservices的一个入门例子
- 排序
- 深入浅出REST
- Eclipse开发经典教程:SWT布局(四)
- 移动应用业务的思考
- Java GUI的发展和演化
- asp翻译成jsp??帮帮忙
- SWT, SWING, AWT各自的特点