源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

SWT(JFace)体验之GridLayout布局

  • 时间:2021-10-07 18:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:SWT(JFace)体验之GridLayout布局
[b]GridLayout布局[/b] GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式。GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格中。GridLayout提供了很多的属性,可以灵活设置网格的信息。另外,GridLayout 布局提供了GridData类,子组件可以设置相应的GridData,例如 “dogPhoto.setLayoutData(gridData)”,GridData可以设置每个组件当做单元格的信息。 [b]GridLayout的风格[/b] GridLayout类提供了GridLayout 布局中划分网格的信息,主要通过以下几个参数进行设置。 NumColumns:通过“gridLayout.numColumns”属性可以设置父组件中分几列显示子组件。 MakeColumnsEqualWidth:通过“gridLayout. makeColumnsEqualWidth”属性可以设置父组件中子组件是否有相同的列宽,当MakeColumnsEqualWidth为true时表示每列的列宽相等。 MarginLeft:表示当前组件距离父组件左边距的像素点个数。 MarginRight:表示当前组件距离父组件右边距的像素点个数。 MarginTop:表示当前组件距离父组件上边距的像素点个数。 MarginBottom:表示当前组件距离父组件下边距的像素点个数。 HorizontalSpacing:表示子组件的水平间距。 VerticalSpacing:表示子组件的垂直间距。 [b]GridData的相关属性 [/b] GridLayout布局的灵活之处在于它利用网格布局数据GridData。通过GridData可以设置子组件在网格中的填充方式、大小边距等信息,用户可以通过子组件的setLayoutData方法设置网格布局数据。 GridData可以控制子组件在网格中的位置大小等相关显示信息。GridData可以设置如下的一些属性。 HorizontalAlignment:表示水平对齐方式。 VerticalAlignment:表示子组件的垂直对齐方式,值和水平方式一样。 HorizontalIndent:表示子组件水平偏移多少像素。此属性和“horizontalAlignment = GridData.BEGINNING”属性一起使用。 HorizontalSpan:表示组件水平占据几个网格。 GrabExcessHorizontalSpace:表示当父组件大小改变时,子组件是否以水平方向抢占空间。 GrabExcessVerticalSpace:表示当父组件大小改变时,子组件是否以垂直方向抢占空间。 WidthHint:表示子组件的宽度为多少像素(前提是未设置其他相关属性)。 HeightHint:表示子组件的高度为多少像素(前提是未设置其他相关属性)。 另外,GridData可以通过构造函数指定相应的属性值,有兴趣的读者可以参考GridData类的构造函数。 测试代码: GridLayoutSample.java
[url=http://www.1sucai.cn/upload/20090625111802789.gif][img]http://files.jb51.net/upload/20090625111802789.gif[/img] [/url][url=http://www.1sucai.cn/upload/20090625111802789.gif][/url]  numColumns = 2 [url=http://www.1sucai.cn/upload/20090625111802993.gif][img]http://files.jb51.net/upload/20090625111802993.gif[/img] [/url][url=http://www.1sucai.cn/upload/20090625111802993.gif][/url]  numColumns = 3 [url=http://www.1sucai.cn/upload/20090625111802514.gif][img]http://files.jb51.net/upload/20090625111802514.gif[/img] [/url][url=http://www.1sucai.cn/upload/20090625111802514.gif][/url]  MakeColumnsEqualWidth:通过“gridLayout. makeColumnsEqualWidth”属性可以设置父组件中子组件是否有相同的列宽,当MakeColumnsEqualWidth为true时表示每列的列宽相等。 MarginLeft:表示当前组件距离父组件左边距的像素点个数。 MarginRight:表示当前组件距离父组件右边距的像素点个数。 MarginTop:表示当前组件距离父组件上边距的像素点个数。 MarginBottom:表示当前组件距离父组件下边距的像素点个数。 HorizontalSpacing:表示子组件的水平间距。 VerticalSpacing:表示子组件的垂直间距。

  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部