1button组件(Button)

(1)Button组件经常使用样式

SWT.PUSHbutton

SWT.CHECK多选button

SWT.RADIO单选button

SWT.ARROW箭头button

SWT.NONE默认button

SWT.CENTER文字居中与SWT.NONE

SWT.LEFT左对齐

SWT.RIGHT右对齐

SWT.BORDER深陷型button

SWT.FLAT平面型button

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

Button bt=new Button(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);

多选、深陷、左对齐

(2)Button组件的经常用法

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

setBounds(int x,int y,int width,int height);//设置组件的坐标位置和大小

setEnabled(Boolean enabled);设置组件是否可用,默觉得true

setFont(Font font);设置文字的字体

setForeground(Color color);设置前景色

setBackground(Color color);设置背景色

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

setSelection(Boolean selected);设置是否选中,默觉得false

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

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  password型,输入字符显示成“*”

SWT.BORDER    深陷型

SWT.V_SCROLL  垂直滚动栏

SWT.H_SCROLL  水平滚动栏

4下拉框组件(Combo)

(1)Combo常见样式

SWT.NONE    默认

SWT.READ_ONLY  仅仅读

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

(2)Combo下拉框经常用法

add(String string)  在Combo上加入一项

add(String string,int index)  在Combo的第index(从0開始)项后插入一项

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

removeAll()      将Combo中的全部选项清空

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

select(int index)  将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属性

Menu mainMunu=new Menu(shell,SWT.BAR);

②在窗口中指定须要显示的菜单条

shell.setMenuBar(mainMenu);

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

MenuItem fileItem=new MenuItem(mainMenu,SWT.CASCADE);

fileItem.setText("file&F");

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

Menu fileMenu=new Menu(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(int type)  创建按指定类型充满容器的对象,type有:SWT.HORIZONTAL(行)

SWT.VERTICAL(列)

(2)经常使用属性

int type 指定组件充满容器的类型

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

2行式布局(RowLayout)

RowLayout能够是组件折行显示,能够设置边界距离和间距。

另外,还能够对每一个组件通过setLayoutData()

方法设置RowData对象。

RowData用来设置组件大小。

(1)构造方法

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

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

(2)经常使用属性

int marginWidth    组件距容器边缘的宽度(像素),默觉得0

int marginHeight  组件距容器边缘的高度(像素)。默觉得0

int marginTop    组件距容器上边缘的距离(像素)。默觉得3

int marginBottom  组件距容器下边缘的距离(像素),默觉得3

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

boolean justify    假设该属性为true。则组件间的距离随容器的拉伸而变大,默认值为false

boolean wrap    假设该属性为true。当空间不足时会自己主动折行,默觉得true

boolean pack    假设该属性为true,组件大小为设定值;假设为false,则强制组件大小同样

默觉得true

int tyep      SWT.HORIZONTAL(行)  SWT.VERTICAL(列)

(2)RowData类

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

RowData(int width,int height)

3网格式布局(GridLayout)

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

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

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

形状、和位置。

(1)GridLayout属性

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

将自己主动加入到新的一行

boolean makeColumnsEqualWidth  强制使列都具有同样的宽度,默觉得false

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

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

int horizontalSpacing  设置列与列之间的间距,默觉得5

int verticalSpacing    设置行与行之间的间隔,默觉得5

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

GridData是GridLayout专用的布局数据类,用GridData能够构建非常多复杂的布局方式。

①构造方法

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

GridData(int type)

②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常有对象属性例如以下:

int horizontalSpan  设置组件占用的列数。默觉得1

int verticalSpan  设置组件占用的行数,默觉得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的属性

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

int marginHeihgt  //设置组件与容器边缘的垂直距离,默觉得0

(3)FormData类

①FormData的构造方法

FormData()

FormData(int width,int height)设置组件的宽度和高度

②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(Control control)以指定组件control为參照物

FormatAttachment(Control control,int offset)以指定组件control为參照物,相对指定

组件偏移量为offset

FormatAttachment(Control control,int offset,int alignment)对齐方式为alignment

SWT.TOP  SWT.BOTTOM  SWT.LEFT  SWT.RIGHT  SWT.CENTER

FormAttachment(int m,int n,int offset)以组件相对与父容器宽度或高度的百分比(即斜率a)来给

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

FormAttachment(int m,int offer)  n默觉得100

FormAttachment(int m) n默觉得100。offset默觉得0

SWT的经常使用事件

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

(1)SWT中经常使用事件例如以下:

①addMouseListener鼠标监听器

mouseDown()

mouseUP()

mouseDoubleClick()

②addKeyListener按键监听器

keyPressed()

keyReleased()

③addSelectionListener组件选择监听器

widgetSelected()

④addFocusListener焦点监听器

focusGained()   得到焦点

focusLost()    失去焦点

原文出自:http://www.cnblogs.com/happyPawpaw/archive/2012/10/19/2730478.html

SWT经常使用组件的更多相关文章

  1. SWT入门-常用组件的使用(转)

    转自:http://www.cnblogs.com/kentyshang/archive/2007/08/16/858367.html swt的常用组件button ,text ,combo,list ...

  2. SWT的基本组件使用

    1按钮组件(Button) (1)Button组件常用样式 SWT.PUSH按钮 SWT.CHECK多选按钮 SWT.RADIO单选按钮 SWT.ARROW箭头按钮 SWT.NONE默认按钮 SWT. ...

  3. 关于SWT中的表格(TableViewer类)

    JFace是SWT的扩展.它提供了一组功能强大的界面组件.其中包含表格,树,列表.对话框,向导对话框等. 表格是一种在软件系统中很常用的数据表现形式.特别是基于数据库的应用系统.表格更是不可缺少的界面 ...

  4. SWT中ole/activex实践--操作word的一个例子

    http://setting.iteye.com/blog/747295 ———————————————————————————————————————————————— 这几年,做了很多word/e ...

  5. [转]Eclipse插件开发之基础篇(6) SWT简介

    原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/09/01/eclipse_plugin_1_3_1.html SWT(Standard Widget ...

  6. eclipse插件开发入门

    2016-09-09 17:11:50 1. 概述 1.1 SWT/JFace 是Eclipse 的基础,Eclipse 的 Workbench 就是建立在 SWT/JFace 之上的.另外,JFac ...

  7. 关于Eclipse插件开发(四)-------给视图加下拉菜单和按钮和加入编辑器.

    本例将给视图加入下拉菜单和按钮,同时再为列表添加一个右键菜单. 创建ActionGroup类 加入菜单和按钮的方法与SWT和JFace组件的一样,先创建一个ActionGroup代码如下: MyAct ...

  8. SWT组件添加事件的四种方式

    在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...

  9. SWT常用组件(转)

    转载自:http://www.cnblogs.com/happyPawpaw/archive/2012/10/19/2730478.html 1按钮组件(Button) (1)Button组件常用样式 ...

随机推荐

  1. 大话tomcat之tomcat连接mysql

    研究主题:tomcat连接mysql 一.tomcat连接mysql的两种连接方式:简单连接(不使用连接池)使用tomcat连接池 二.简单分析:(简介部分摘自一篇博客,觉得写得非常赞,读了非常有快感 ...

  2. 学习环境配置:Manjaro、MSYS2以及常见软件

    0.前言 在说Manjaro之前,要先说一下Linux发行版.对于各大发行版而言,内核只有版本的差异,最重要的区别就是包管理系统.常见的包管理系统包括:Pacman,Apt , Yum和Portage ...

  3. Codeforces 最大流 费用流

    这套题目做完后,一定要反复的看! 代码经常出现的几个问题: 本机测试超时: 1.init函数忘记写. 2.addedge函数写成add函数. 3.边连错了. 代码TLE: 1.前向星边数组开小. 2. ...

  4. 双端队列-deque【集vector与list于一身的牺牲内存换功能完善】

    看到双端队列(deque)了,书上是这样说的:除了栈和队列外还有一种限定性数据结构是双端队列:双端队列是限定插入和删除操作在表的两端进行的线性表:尽管双端队列看起来似乎比栈和队列更灵活,但实际上在应用 ...

  5. ACM的奇计淫巧_扩栈C++/G++

    C++ #pragma comment(linker, "/STACK:102400000,102400000") G++ << ; // 256MB char *p ...

  6. NOI模拟题4 Problem A: 生成树(mst)

    Solution 我们考虑答案的表达式: \[ ans = \sqrt{\frac{\sum_{i = 1}^{n - 1} (w_i - \overline{w})^2}{n - 1}} \] 其中 ...

  7. Ubuntu 16.04下使用Wine安装Notepad++

    说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 下载: (链接 ...

  8. IIS配置支持apk文件下载

    写在前面 最近项目中涉及到移动端的东西,有一个功能是要下载apk文件,apk为安卓安装程序,但是iis默认是不支持该类型的文件下载的. 解决方案 找到该站点,并切换到功能视图 找到MIME类型,双击进 ...

  9. Git 详细的操作指南笔记

    喜欢的朋友start一下,长期更新文章 设置 安装git后我们需要配置一下,告诉git我们的基本信息等等..一般在用户范围内去配置 git ,也就是在 global 范围. global 全局设置 $ ...

  10. DIY树莓派之随身工具箱

    摆弄树莓派有一年多了,在这里把经验分享给大家,少走弯路. 先放图两张. 搭建目的: wifi信号中转站\网站服务器\IC卡渗透测试\中间人\otr… 基于树莓派3 系统为Kali Linux 2017 ...