- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java入门到精通第7章
第七章 布局管理器 本节将介绍SWT中布局管理器,布局管理器是最复杂的,也是最重要的。布局管理器有五种,分别是FillLayout(充满式布局)、RowLayout(行列式布局)、GridLayout(网格式布局)、FormLayout(表格式布局)和StackLayout(堆栈式布局)。在这些管理器中,各有有点和缺点,比如FillLayout功能单一,但是使用方便,FormLayout精确,但使用起来比较繁琐。下面介绍它们的用法,以及各自的特点结构。 7.1 布局管理器概述 在前面的学习中,对于组件的位置,我们使用setBounds()方法来进行坐标绝对定位,可是,如果组件多的话,使用这个方法不免有一些繁琐,而且坐标往往不容易确定。使用布局管理器来对组件进行管理,相对来说就简便的多,而且可以避免在不同操作系统平台下出现的组件混乱问题。而且对于不同容器中放置组件,定位组件的位置和大小,SWT提供了绝对定位和托管定位两种方法。 7.1.1 绝对定位 所谓绝对定位,就是为组件提供绝对的坐标值,也就是前面用到的setBounds()方法。方法内的参数有int x、int y、int width和int height,分别代表X坐标值、Y坐标值、长和高,例如设置一个Button。 7.1.2 托管定位 在托管定位中,不必去确定组件的绝对坐标,只要把组件添加到容器中,至于如何排列,取决于容器所设置的布局,也就是前面提到的五个布局方式。 在设置了托管定位后,还可以对组件设置布局数据类(layoutData),一般布局数据类都是以Data结尾,开头部分是布局类名,例如布局类RowLayout具有布局数据类RowData。布局类GridLayout使用布局数据类GridData。为一个按钮设置布局类,保证按钮的长和宽分别是30和60, 7.2 FillLayout FillLayout是最简单的布局管理器,将容器设置成FillLayout后,组件放到容器中,会以一行或者一列进行排列,并且充满整个窗口,并且可以自动调整组件的大小 FillLayout也可以设置边界的宽度和组件间隔,所使用到的方法是layout.marginHeigh(设置上下的高度)、layout.marginWidth(设置左右的间隙)、layout.spacing(设置组件之间的间隙)。 在对布局管理器进行设置完成后,如果改变了窗口的大小,其设置的值不会改变。也就是说,调整窗口大小,只会自动调整按钮的大小,其他不会改变。 7.3 RowLayout RowLayout(行列式)比较像书写文字,从左到右,一次进行,只有一行排满,才会切换到下一行,在窗口调整大小后的对比。 RowLayout的属性设置 1.Wrap 2.Pack 3.Type 4.Justify 5.设置间隔和补白 6.RowData 7.Fill 7.4 GridLayout GridLayout是比较复杂的布局方式,也是比较常用的、功能最强大的布局管理器。它是相当于把容器分成一个一个相等的格子,然后每个格子里面放一个组件。和RowLayout有点相似,本节就介绍GridLayout的使用。 7.4.1 GridLayout的示例 一个GridLayout布局的例子。把空间分为3列,然后创建六个按钮,从左到右依次排列。第四个按钮会自动换到下一行显示。 在创建布局管理器的时候,将空间分为三列,在GridLayout中,有两个构造方法,分别为带参数和不带参数。 new GridLayout(int i ,Boolean b): new GridLayout() 7.4.2 GridLayout属性 1.numColumns 2.makeColumnsEqualWidth 3.补白和间隔 4.GridData 5.单元格对齐方式 6.设置组件大小 7.设置组件最小宽度和高度 8.缩进 9.格跨行和跨列显示 10.抢占单元格空间 7.5 FormLayout 表格式布局管理器FormLayout使用非常灵活,功能和GridLayout一样强大,使用FormLayout和使用GridLayout可以完成同样的效果。与GridLayout不同的是,FormLayout通过设置FormData的四边的附加值来设置控件的布局。 7.5.1 边距设置 边距设置使用marginWidth和marginHeight属性,设置一个按钮。 FormLayout中的marginLeft、marginTop、marginRight、marginBottom 、marginWidth、marginHeight和spacing的属性和GridLayout使用方法相同,不同点式 spacing属性的默认为0。 7.5.
您可能关注的文档
最近下载
- ZIF-67合成方法设计.docx
- 高空作业安全监理实施细则.pdf VIP
- (新)国家药品监督管理局药品审评中心考试附答案.docx VIP
- 2025年保卫管理员题库及答案.docx VIP
- BPA8604D_CN_DS_Rev.1.0 (1) 规格书 晶丰明源家电电源.pdf VIP
- 制药专用控制系统系列:Rockwell Automation PharmaSuite_(1).制药专用控制系统系列:RockwellAutomationPharmaSuite概述.docx VIP
- 国家药品监督管理局药品审评中心考试及答案(荐).docx VIP
- (2025)国家药品监督管理局药品审评中心考试及答案.docx VIP
- 2024上海各区高三语文一模试题汇编《现代文二》.docx VIP
- 主要建筑材料碳排放因子查询表.docx VIP
原创力文档


文档评论(0)