SWT中各种参数大全

1按钮组件(Button)

(1)Button组件常用样式

SWT.PUSH按钮

SWT.CHECK多选按钮

SWT.RADIO单选按钮

SWT.ARROW箭头按钮

SWT.NONE默认按钮

SWT.CENTER文字居中与SWT.NONE

SWT.LEFT左对齐

SWT.RIGHT右对齐

SWT.BORDER深陷型按钮

SWT.FLAT平面型按钮

一个Button可以指定多个样式,只要将指定的各个样式用符号“|”连接起来即可

Buttonbt=newButton(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);

多选、深陷、左对齐

(2)Button组件的常用方法

setText(Stringstring),设置组件的标签文字

setBounds(intx,inty,intwidth,intheight);//设置组件的坐标位置和大小

setEnabled(Booleanenabled);设置组件是否可用,默认为true

setFont(Fontfont);设置文字的字体

setForeground(Colorcolor);设置前景色

setBackground(Colorcolor);设置背景色

setImage(Imageimage);设置显示用的图片

setSelection(Booleanselected);设置是否选中,默认为false

setToolTipText(Stringstring);设置鼠标停留在组件上是显示的提示信息

 

2标签组件(Label)

(1)Label常见式样

SWT.CENTER居中

SWT.RIGHT右对齐

SWT.LEFT左对齐

SWT.NONE默认样式

SWT.WRAP自动换行

SWT.BORDER深陷型

SWT.SEPARATOR分栏符,默认为竖线分栏符

HORIZONTAL横线分栏符

 

3文本框组件(Text)

(1)Text常见式样

SWT.NONE默认式样

SWT.CENTER

SWT.RIGHT

SWT.LEFT

SWT.MULTI可以输入多行,需回车换行

SWT.WRAP可以输入多行,自动换行

SWT.PASSWORD密码型,输入字符显示成“*”

SWT.BORDER深陷型

SWT.V_SCROLL垂直滚动条

SWT.H_SCROLL水平滚动条

 

4下拉框组件(Combo)

(1)Combo常见样式

SWT.NONE默认

SWT.READ_ONLY只读

SWT.SIMPLE无需单击下拉框,列表会一直显示

 

(2)Combo下拉框常用方法

add(Stringstring)在Combo上添加一项

add(Stringstring,intindex)在Combo的第index(从0开始)项后插入一项

deselectAll()使Combo组件中的当前选项为空

removeAll()将Combo中的所有选项清空

setItems(String[]items)将数组中的各项依次加入到Combo中

select(intindex)将Combo的第index+1项设置为当前选择项

 

5列表框组件(List)

(1)List常见样式

SWT.NONE默认样式

SWT.V_SCROLL带垂直滚动条

SWT.MULTI允许复选

SWT.SINGLE允许单选

 

(2)常用方法

List和Combo组件的方法是一样的,但由于List可选择多项,而Combo只能选择一项

,所以List没有getText()方法,List的取值使用getSelection(),返回一个String

数组。

 

6菜单(Menu,MenuItem)

菜单(Menu、MenuItem)是常用的SWT组件,Menu是一个菜单栏,同时也是一个容器

,可以容纳菜单项(MenuItem)

(1)Menu样式

SWT.BAR菜单栏,用于主菜单

SWT.DROP_DOWN下拉菜单,用于子菜单

SWT.POP_UP鼠标右键弹出菜单

(2)MenuItem式样

SWT.CASCADE有子菜单的菜单项

SWT.CHECK选中后前面显示一个小勾

SWT.PUSH普通型菜单

SWT.RADIO选中后前面显示一个圆点

SWT.SEPARATOR分隔符

(3)建立菜单一般步骤

①首先建立一个菜单栏,需要用到SWT.BAR属性

MenumainMunu=newMenu(shell,SWT.BAR);

②在窗体中指定需要显示的菜单栏

shell.setMenuBar(mainMenu);

③创建顶级菜单项,需要使用SWT.CASCADE属性

MenuItemfileItem=newMenuItem(mainMenu,SWT.CASCADE);

fileItem.setText("file&F");

④创建与顶级菜单项相关的下拉式菜单

MenufileMenu=newMenu(shell,SWT.DROP_DOWN);

⑤将顶级菜单项与下拉菜单关联

fileItem.setMenu(fileMenu);

二级菜单的建立只需要重复③~⑤即可

 

容器类

1面板(Composite)

(1)Composite常用方法

getLayout()获得布局管理器

getLayoutData()得到布局数据

getParent()得到容纳该容器的父容器

getShell()得到容纳该容器的Shell

layout()将容器上的组件重新布局,相当于刷新

 

 

2分组框(Group)

Group是Composite的子类,所以两者用法基本相同。主要区别是Group显示有一个方框,且方

框线上还可以显示说明文字

 

3选项卡(TabFolder、TabItem)

选项卡包括一个选项卡(TabFolder类)和一个选项页(TabItem类),TabFolder是容器,可

以容纳其它容器和组件,但TabItem不是容器,可以把它看成是一个选项标签,TabFolder通过

TabItem来对其中的组件进行控制。每一个TabItem用setControl()来控制一个界面组件。

 

布局管理器

1充满式布局(FillLayout)

FillLayout是最简单的布局管理器,它把组件按一行或一列充满整个容器,并强制组件的大小一致。

一般组件高度和最高组件相同,宽度与最宽组件相同。FillLayout不能折行,不能设置边界距离和间距。

如果容器中只有一个组件,则该组件会充满整个容器。

(1)构造方法

FillLayout()创建按一行充满容器的对象。

FillLayout(inttype)创建按指定类型充满容器的对象,type有:SWT.HORIZONTAL(行)

SWT.VERTICAL(列)

(2)常用属性

inttype指定组件充满容器的类型

FillLayout.type=SWT.VERTICAL或SWT.HORIZONTAL;

 

2行式布局(RowLayout)

RowLayout可以是组件折行显示,可以设置边界距离和间距。另外,还可以对每个组件通过setLayoutData()

方法设置RowData对象。RowData用来设置组件大小。

(1)构造方法

RowLayout()创建按行放置组件的对象

RowLayout(inttype)创建按指定类型放置组件的对象。type:SWT.HORIZONTALSWT.VERTICAL

(2)常用属性

intmarginWidth组件距容器边缘的宽度(像素),默认为0

intmarginHeight组件距容器边缘的高度(像素),默认为0

intmarginTop组件距容器上边缘的距离(像素),默认为3

intmarginBottom组件距容器下边缘的距离(像素),默认为3

intspacing组件之间的距离,默认值为3

booleanjustify如果该属性为true,则组件间的距离随容器的拉伸而变大,默认值为false

booleanwrap如果该属性为true,当空间不足时会自动折行,默认为true

booleanpack如果该属性为true,组件大小为设定值;如果为false,则强制组件大小相同

默认为true

inttyepSWT.HORIZONTAL(行)SWT.VERTICAL(列)

(2)RowData类

RowData称为RowLayout的布局数据类,可用于改变容器中组件外观形状,其构造方法为

RowData(intwidth,intheight)

 

3网格式布局(GridLayout)

GridLayout是实用而且功能强大的标准布局,也是较为复杂的一种布局。这种布局把容器分成网格

,把组件放置在网格中。GridLayout有很多可配置属性,和RowLayout一样,也有专用的布局数据类

GridData.GridLayout的构造方法无参数,但可以通过GridData和设置GridLayout属性来设置组建的排列、

形状、和位置。

(1)GridLayout属性

intnumColumn设置容器的列数,组件从左到右按列放置,当组件数大于列数时,下一个组件

将自动添加到新的一行

booleanmakeColumnsEqualWidth强制使列都具有相同的宽度,默认为false

intmarginWidth设置组件与容器边缘的水平距离,默认值为5

intmarginHeight设置组件与容器边缘的垂直高度,默认值为5

inthorizontalSpacing设置列与列之间的间距,默认为5

intverticalSpacing设置行与行之间的间隔,默认为5

 

(2)布局数据类(GridData类)

GridData是GridLayout专用的布局数据类,用GridData可以构建很多复杂的布局方式。

①构造方法

GridData()创建一个属性值为默认值的对象

GridData(inttype)

②GridData常用类型

GridData.FILL通常与对象属性horizontalAlignment和verticalAlignment配合使用,充满对象

属性指定空间。

GridData.FILL_HORIZONTAL水平充满,

GridData.FILL_VERTICAL垂直充满

GridData.FILL_BOTH双向充满

GridData.HORIZONTAL_ALIGN_BEGINNING水平靠在对齐

GridData.HORIZONTAL_ALIGN_END水平靠右对齐

GridData.HORIZONTAL_ALIGN_CENTER水平居中对齐

③GridData常有对象属性如下:

inthorizontalSpan设置组件占用的列数,默认为1

intverticalSpan设置组件占用的行数,默认为1

horizontalAlignment设置组件对齐方式为水平方向

verticalAlignment设置组件对齐方式为垂直方向

grabExcessHorizontalSpace抢占额外水平空间

grabExcessVerticalSpace抢占额外垂直空间

horizontalAlignment和verticalAlignment可以取以下值:

GEGINNING开始(水平对齐时居左,垂直对齐时居上)

CENTER居中,默认

END结束(水平对齐时居右,垂直对齐时居下)

FILL充满

 

4表格式布局(FormLayout)

FormLayout是一种非常灵活、精确的布局方式,FormData使其专用的布局数据类。

此外,还增加了一个FormAttachment类。FormAttachment定义了组件的四边与父容器

(Shell、Composite)的边距,为保证组件在父容器中的相对位置不变,FormAttachment

类用不同的构造方法来实现组件的定位,用FormData和FormAttachment配合,可以创建复杂

的界面,而且当主窗体大小改变时,组件的相对位置能保持相对不变。

(1)FormLayout构造函数

FormLayout();

(2)FormLayout的属性

intmarginWidth//设置组件与容器边缘的水平距离,默认值为0

intmarginHeihgt//设置组件与容器边缘的垂直距离,默认为0

(3)FormData类

①FormData的构造方法

FormData()

FormData(intwidth,intheight)设置组件的宽度和高度

②FormData的属性

width设置组件的宽度

height设置组件的高度

top和FormAttachment配合设置组件底部和父容器底部的边距

left和FormAttachment配合设置组件右边和父容器右边的边框

如果FormData中的width和height设置的宽度和高度与FormAttachment设置的约束

发生冲突,则按照FormAttachment设置,width和height的设定值就不起作用了。

(3)FormAttachment类

Attachment的含义是附着、粘贴。FormAttachment类就是用来指定组件在父容器中粘贴的

位置。FormAttachment计算组件粘贴位置和组件大小的方法是依据下面的表达式:

y=ax+b

①FormatAttachment构造方法

FormatAttachment()组件紧贴父容器的左边缘和上边缘,如果父容器设置了FormLayout属

性marginWidth、marginHeight,则距父容器的上边缘和左边缘为其值。

FormatAttachment(Controlcontrol)以指定组件control为参照物

FormatAttachment(Controlcontrol,intoffset)以指定组件control为参照物,相对指定

组件偏移量为offset

FormatAttachment(Controlcontrol,intoffset,intalignment)对齐方式为alignment

SWT.TOPSWT.BOTTOMSWT.LEFTSWT.RIGHTSWT.CENTER

FormAttachment(intm,intn,intoffset)以组件相对与父容器宽度或高度的百分比(即斜率a)来给

组件定位,m为a的分子,n为分母,offset为偏移量

FormAttachment(intm,intoffer)n默认为100

FormAttachment(intm)n默认为100,offset默认为0

 

 

SWT的常用事件

所有事件、监听器和适配器都放在包org.eclipse.swt.events中。

(1)SWT中常用事件如下:

①addMouseListener鼠标监听器

mouseDown()

mouseUP()

mouseDoubleClick()

②addKeyListener按键监听器

keyPressed()

keyReleased()

③addSelectionListener组件选择监听器

widgetSelected()

④addFocusListener焦点监听器

focusGained()得到焦点

focusLost()失去焦点

你可能感兴趣的:(SWT)