java入门到精通第7章.ppt
《java入门到精通第7章.ppt》由会员分享,可在线阅读,更多相关《java入门到精通第7章.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 布局管理器布局管理器本节将介绍本节将介绍SWT中布局管理器,布局管理器是最复中布局管理器,布局管理器是最复杂的,也是最重要的。布局管理器有五种,分别是杂的,也是最重要的。布局管理器有五种,分别是FillLayout(充满式布局)、(充满式布局)、RowLayout(行列式布局)、(行列式布局)、GridLayout(网格式布局)、(网格式布局)、FormLayout(表格式布局)(表格式布局)和和StackLayout(堆栈式布局)。在这些管理器中,各有有(堆栈式布局)。在这些管理器中,各有有点和缺点,比如点和缺点,比如FillLayout功能单一,但是使用方便,功能单一,但是使
2、用方便,FormLayout精确,但使用起来比较繁琐。下面介绍它们的精确,但使用起来比较繁琐。下面介绍它们的用法,以及各自的特点结构。用法,以及各自的特点结构。7.1 7.1 布局管理器概述布局管理器概述在前面的学习中,对于组件的位置,我们使用在前面的学习中,对于组件的位置,我们使用setBounds()方法来进行坐标绝对定位,可是,如果组件多的话,使用方法来进行坐标绝对定位,可是,如果组件多的话,使用这个方法不免有一些繁琐,而且坐标往往不容易确定。使用这个方法不免有一些繁琐,而且坐标往往不容易确定。使用布局管理器来对组件进行管理,相对来说就简便的多,而且布局管理器来对组件进行管理,相对来说就
3、简便的多,而且可以避免在不同操作系统平台下出现的组件混乱问题。而且可以避免在不同操作系统平台下出现的组件混乱问题。而且对于不同容器中放置组件,定位组件的位置和大小,对于不同容器中放置组件,定位组件的位置和大小,SWT提提供了绝对定位和托管定位两种方法。供了绝对定位和托管定位两种方法。7.1.1 7.1.1 绝对定位定位所谓绝对定位,就是为组件提供绝对的坐标值,也所谓绝对定位,就是为组件提供绝对的坐标值,也就是前面用到的就是前面用到的setBounds()方法。方法内的参数有方法。方法内的参数有int x、int y、int width和和int height,分别代表,分别代表X坐标值、坐标值
4、、Y坐标值、坐标值、长和高,例如设置一个长和高,例如设置一个Button。7.1.2 7.1.2 托管定位托管定位在托管定位中,不必去确定组件的绝对坐标,只要在托管定位中,不必去确定组件的绝对坐标,只要把组件添加到容器中,至于如何排列,取决于容器所设置的把组件添加到容器中,至于如何排列,取决于容器所设置的布局,也就是前面提到的五个布局方式。布局,也就是前面提到的五个布局方式。在设置了托管定位后,还可以对组件设置布局数据在设置了托管定位后,还可以对组件设置布局数据类(类(layoutData),一般布局数据类都是以),一般布局数据类都是以Data结尾,开结尾,开头部分是布局类名,例如布局类头部分
5、是布局类名,例如布局类RowLayout具有布局数据具有布局数据类类RowData。布局类。布局类GridLayout使用布局数据类使用布局数据类GridData。为一个按钮设置布局类,保证按钮的长和宽分别是。为一个按钮设置布局类,保证按钮的长和宽分别是30和和60,7.2 FillLayout7.2 FillLayoutFillLayout是最简单的布局管理器,将容器设置成是最简单的布局管理器,将容器设置成FillLayout后,组件放到容器中,会以一行或者一列进行排后,组件放到容器中,会以一行或者一列进行排列,并且充满整个窗口,并且可以自动调整组件的大小列,并且充满整个窗口,并且可以自动调
6、整组件的大小FillLayout也可以设置边界的宽度和组件间隔,所使也可以设置边界的宽度和组件间隔,所使用到的方法是用到的方法是layout.marginHeigh(设置上下的高度)、(设置上下的高度)、layout.marginWidth(设置左右的间隙)、(设置左右的间隙)、layout.spacing(设置组件之间的间隙)。(设置组件之间的间隙)。在对布局管理器进行设置完成后,如果改变了窗口在对布局管理器进行设置完成后,如果改变了窗口的大小,其设置的值不会改变。也就是说,调整窗口大小,的大小,其设置的值不会改变。也就是说,调整窗口大小,只会自动调整按钮的大小,其他不会改变。只会自动调整按
7、钮的大小,其他不会改变。7.3 RowLayout7.3 RowLayoutRowLayout(行列式)比较像书写文字,从左到右,(行列式)比较像书写文字,从左到右,一次进行,只有一行排满,才会切换到下一行,在窗口调整一次进行,只有一行排满,才会切换到下一行,在窗口调整大小后的对比。大小后的对比。RowLayout RowLayout的属性的属性设置置1Wrap2Pack3Type4Justify5设置间隔和补白设置间隔和补白6RowData7Fill7.4 GridLayout7.4 GridLayoutGridLayout是比较复杂的布局方式,也是比较常用是比较复杂的布局方式,也是比较常用
8、的、功能最强大的布局管理器。它是相当于把容器分成一个的、功能最强大的布局管理器。它是相当于把容器分成一个一个相等的格子,然后每个格子里面放一个组件。和一个相等的格子,然后每个格子里面放一个组件。和RowLayout有点相似,本节就介绍有点相似,本节就介绍GridLayout的使用。的使用。7.4.1 GridLayout7.4.1 GridLayout的示例的示例一个一个GridLayout布局的例子。把空间分为布局的例子。把空间分为3列,然列,然后创建六个按钮,从左到右依次排列。第四个按钮会自动换后创建六个按钮,从左到右依次排列。第四个按钮会自动换到下一行显示。到下一行显示。在创建布局管理器
9、的时候,将空间分为三列,在在创建布局管理器的时候,将空间分为三列,在GridLayout中,有两个构造方法,分别为带参数和不带参中,有两个构造方法,分别为带参数和不带参数。数。new GridLayout(int i,Boolean b):new GridLayout()7.4.2 GridLayout7.4.2 GridLayout属性属性1numColumns2makeColumnsEqualWidth3补白和间隔补白和间隔4GridData5.单元格元格对齐方式方式6.设置置组件大小件大小7.设置置组件最小件最小宽度和高度度和高度8.缩进9.格跨行和跨列格跨行和跨列显示示10.抢占占单元
10、格空元格空间7.5 FormLayout7.5 FormLayout表格式布局管理器表格式布局管理器FormLayout使用非常灵活,功能使用非常灵活,功能和和GridLayout一样强大,使用一样强大,使用FormLayout和使用和使用GridLayout可以完成同样的效果。与可以完成同样的效果。与GridLayout不同的是,不同的是,FormLayout通过设置通过设置FormData的四边的附加值来设置控的四边的附加值来设置控件的布局。件的布局。7.5.1 7.5.1 边距距设置置边距设置使用边距设置使用marginWidth和和marginHeight属性,属性,设置一个按钮。设置
11、一个按钮。FormLayout中的中的marginLeft、marginTop、marginRight、marginBottom、marginWidth、marginHeight和和spacing的属性和的属性和GridLayout使用方法相使用方法相同,不同点式同,不同点式 spacing属性的默认为属性的默认为0。7.5.2 FormData7.5.2 FormData前面学了几种布局,其中都有前面学了几种布局,其中都有Data,FormData和和前面所介绍过的类似,也是针对某一个组件进行的设置,创前面所介绍过的类似,也是针对某一个组件进行的设置,创建一个建一个FormData对象时,需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 入门 精通
限制150内