|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
在Java中,GUI程序开辟的方针之一是跨平台,而每品种型操纵体系对屏幕的界说纷歧样,以是Swing中引进了结构的观点,对子组件的地位和巨细等信息举行界说。SWT中也接纳了结构体例,用户可以使用结构来把持组件中元素的地位和巨细等信息。
别的,假如组件没有设置结构信息,也能够经由过程坐标举行绝对定位。在先容Control类的时分,个中有一个方法“setBounds(intx,inty,intwidth,intheight)”能够指定组件相对父组件的地位和组件的巨细。在这类体例下,父组件巨细和其他信息的改动不会对以后组件有影响。复合组件经常包括多个控件,可使用以下两种办法布置这些控件。
(1)相对定位:为每一个控件设置明白的X和Y地位(setBounds),并经由过程代码设置必定的宽度和高度。
(2)托管定位:每一个控件的X、Y、宽度和高度都是经由过程LayoutManager设置的。
在多半情形下,应当选择利用LayoutManagers,由于能够很简单地调剂它们来顺应可变巨细的GUI。SWT供应了一些经常使用的结构办理器供用户利用;在结构办理器中,每当从头设置复合组件的巨细时,都必要举行定位。
结构办理器经常是专为某一个复合组件计划的。一些结构办理器只利用它们本身的参数就能够把持,而另外一些结构办理器还必要其他参数(LayoutData),该参数是在设置结构办理器的复合组件中的每一个控件上指定的。SWT中经常使用的结构办理器有以下一些。
●FillLayout:子组件将以不异的巨细填充到父组件中。
●RowLayout:子组件将在父组件上一行或几行显现(设置响应的属性值,子组件会主动换行)。
●GridLayout:网格局结构,子组件能够指定占用父组件中几个格,和组件添补哪几个网格。
●FormLayout:能够经由过程FormAttachment以父组件或子组件的边作为绝对地位,举行精确结构。
为组件增加结构信息的步骤以下。
1.创立结构(Layout)类。
2.经由过程窗口组件的setLayout办法设置响应的结构类。
3.设置子组件的结构信息。
当窗口组件设置了结构信息后,窗口组件显现的时分将会挪用响应的结构类对窗口组件的子组件举行结构、定位和盘算子组件巨细的操纵,从而使窗口组件以更好的体例显现在父组件中。上面将先容Eclipse中供应的几种经常使用的结构体例。
FillLayout布局
FillLayout长短常复杂的一种结构体例,它会以一样巨细对父组件中的子组件举行结构,这些子组件将以一行或一列的情势分列。
一样平常来讲,用户能够在义务栏、工具栏中安排FillLayout结构,经由过程FillLayout结构对子组件举行定位,也能够当子组件只要一个组件时,经由过程FillLayout结构添补全部父组件的空间。
<p>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 |
|