- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
布局设计
例5.13编写程序代码使界面上的组件button2定位在button1右边且保持在同一水平上,如下图所示。 关键代码: FormData formData1 = new FormData(); formData1.left = new FormAttachment(button1); FormAttachment fat1=new FormAttachment(button1,0); fat1.alignment = SWT.BOTTOM; formData1.bottom = fat1; button2 = new Button(sShell, SWT.NONE); button2.setText(Button2); button2.setLayoutData(formData1); 表格式布局的设计实例 例5.14 对例3.9完成的窗体,即学生成绩管理系统的用户登录界面应用表格式布局进行布局设计,使其接近设计原型。 该界面中有用SWT GUI组件共有11个。该窗体不能改变大小,因此以窗体为参照组件进行绝对定位,或相对定位。查看该窗体宽度为400像素,高度为300像素。原型中组件排列为5行。为美观起见,界面上方、下方、左边和右边各留15%空白。登录标题标签定位之后,其余各组件依次以相邻组件为参照进行定位。 项目StdScoreManaV0.3 5.6 堆栈式布局(StackLayout) 堆栈式布局(StackLayout)设置容器内所有组件的位置、大小相同,然后层叠在一起,只有位于最上面的组件可见。这个布局类在org.eclipse.swt.custom中。 StackLayout只有一个无参构造方法。 它只有一个属性topControl,用来指定哪个组件位于堆栈最上层并可见。 例5.13 设计一个窗体,其中有三个按钮叠在一起。任何一个时刻只有一个按钮显示出来。当单击按钮时,显示出下一个按钮。 设置窗体的布局为堆栈式布局(StackLayout),可以使三个按钮大小和位置相同,且叠在一起。通过给按钮设计事件监听器修改堆栈式布局管理器的topControl属性,从而控制显示下一个按钮。注意在设置了应该显示的按钮后,必须调用容器的layout方法使该组件真正显示出来。 workspace\LayoutTest\src\StackLayoutTest.java (2)makeColumnsEqualWidth: 该属性设置为true时,强制所有列具有相同的宽度.如下图所示: (3)MarginWidth,MarginHeught,HorizontalSpacing和VerticalSpacing: 第一个属性设置左右边距,第二个属性设置上下边距,第三个属性设置水平间距,最后一个属性设置垂直边距. 布局数据类GridData GridData是GridLayout专用的布局数据类,设置每个组件的多种属性,从而对各个组件的布局进行精确控制,由此构建很多复杂的布局。 网格式布局下组件的布局数据属性较多 。 例5.5 对例3.9完成的窗体,即学生成绩管理系统的用户登录界面进行布局设计,使其接近设计原型。 观察发现,在第3章的设计过程中由于鼠标拖动,在窗体的最左边留了一个空列,可以在最右边再增加一个空列。在网格的四个角分别设置填充标签,并让它们具有填充和抢占属性,以占据两边及上下空白空间,将内容组件“挤”到窗体的中央区域。 项目StdScoreManaV0.2 5.5 表格式布局(FormLayout) 表格式布局(FormLayout类)是一种非常灵活、精确的布局方式,也是最复杂的布局方式。使用FormLayout可以将组件固定在窗口上的特定位置,以像素或者容器宽高的百分比来指定组件的宽与高。 FormLayout有专用的布局数据类FormData,此外还增加了一个FormAttachment类。用FormData和FormAttachment配合,可以创建复杂的界面,而且当主窗体大小改变时,组件的相对位置能够保持相对不变。 FormLayout的属性 marginWidth:设置组件与容器边缘的水平距离,默认值为0。 marginHeight:设置组件与容器边缘的垂直距离,默认值为0。 spacing:设置相邻组件之间的边距,默认值为0。 例5.6 设计一个窗体,使用FormLayout布局。在该窗体中创建4个Button组件,名字分别为button1、button2、button3、button4,文字分别为“Wide Button 1”、“Button 2”、“Btn 3”和“B4” workspace\LayoutTest\src\FormLa
文档评论(0)