SWT的API包
更新时间:2023-09-09 22:34:01 阅读量: 教育文库 文档下载
- swt的暗恋名字推荐度:
- 相关推荐
SWT的API包
现在来看看SWT所提供的API。SWT主要提供了
??org.eclipse.swt(主要提供SWT系列参数、错误、异常的信息,是SWT应用的基础。像上面
所用到的 SWT.NONE参数就是在这个下面) ??org.eclipse.swt.widgets(主要提供SWT的标准窗口部件,是我们开发UI主要用到的包。
其中包括Shell、Button、Label等等的窗口部件,我将在下面结合例子详细说) ??org.eclipse.swt.graphics(主要提供SWT中的画图功能,像常用Color、GC等都是属于这
个包) ??org.eclipse.swt.events(主要提供SWT中各种事件及监听类的定义)
??org.eclipse.swt.layout(通常与widgets包中的控件配合使用,主要提供对widgets包中
控件内部的摆放位置的定义,像上面例子中的FillLayout类就是充满式排列) ??org.eclipse.swt.dnd(忘了,呵呵一会再添) ??org.eclipse.swt.printing(忘了,一会再添)
??org.eclipse.swt.accessibility(忘了,呵呵一会再添) ??org.eclipse.swt.program(主要提供系统中其他程序的执行功能) ??org.eclipse.swt.ole.win32(忘了,呵呵一会再添)
??org.eclipse.swt.browser(我主要用这个提供了一个浏览器支持) ??org.eclipse.swt.awt(忘了,呵呵一会再添)。
那么我们就利用前面的那个例子来简单讲讲SWT API 中的控件。
首先我们看到的第一个控件是Display在org.eclipse.swt.widgets包内,是我们通常做的窗口的载体(窗口就是那个Shell)。而它继承与graphics包中的Device类,而Device类是继承Drawable(抽象)类,可见Display就是一个可以画图的一个设备类。通常它都是代表我们的显示屏幕。
Shell控件就是窗口对象类,通过Shell的open事件我们可以打开一个窗口,通过close事件去关闭它。Shell类是继承于Composite类,而Composite类继承了Scrollable类,所以可以在他上面摆放其他控件、设置排列方式、添加滚动条、添加最大最小关闭按钮。可见和我们常见的windows窗口是一样的。看到前面我们对Shell的定义方式,它通常都需要选择一个显示设备类作为父亲的,当然这个Shell类的构造函数是重载的,你可以什么参数都不加直接用Shell(),这个时候他默认你的当前设备的显示设备为Device并自动生成一个Display对象。你也可以象我们上面的例子那样使用指定一个显示设备。当然,最常用的是另一种方式——指定参数的方式。指定参数的方式的调用方法为Shell(Device,int)其中第一个参数不同说了就是我们的显示设备,而第二个参数是具体的类型。在这里,SWT为我们提供了很多的参数供选择。具体的参数都定义在org.eclipse.swt中。举个例子,你要是像要个带有垂直滚动条的窗口。那么你定义的时候就需要写 Shell shell = new
Shell(display, SWT.V_SCROLL);这样,你就有了一个带有垂直滚动条的窗口。当然具体的滚动事件还是需要你自己手动添加的。你一定会问:“如果我想要的窗口很特殊有多种特性怎么办?”很好。这个当然是SWT也考虑到了的。它提供了一种参数组合的方式就是用“|”来连接。Ex:当我们想要一个带有水平垂直滚动条,和标头上最小化按钮关闭按钮的窗口。那么我们可以这样写 Shell shell = new Shell(display,SWT.V_SCROLL|SWT.H_SCROLL|
SWT.CLOSE|SWT.MIN);怎么样,呵呵看到了吧。还有很多其他的参数你可以自己试试。记住这个设置参数的方法,因为SWT中其它控件创建时的参数设置方法也都是这样的。 Composite类相当于一个panel和Jpanel差不多,当然很多地方说Canvas才是和Jpanel对应的,这个我不反对,因为Canvas就是继承与Composite,当然Composite的属性它都具备了。
FillLayout类是Layout包中的一个类。前面说过了Layout包里面的类都主要负责排列位置的设定。而这个FillLayout类则是里面最简单的类型,顾名思义它就是充满式的排列。也就是如果你只有一个控件,它就把这个控件放大把整个区域充满。如果你有两个控件,那么它们两个同样把整个区域充满,并各自占区域的一半。还有其他比较复杂的排列方式我会在后边仔细讲解。
Label类这个大家都应该很熟悉,无论是C、Java、VB等等都会用到的。它只是一个负责显示文本或图片加文本的一个小区域。这里我们就不多说了,具体的相关例子和相关其他一些简单控件的时候使用我会在后面把Eclipse提供的一个例子集锦附上。
最后也是最重要的,就是释放。你会问:“为什么要释放?Java不是有自己的JVM去进行GC操作。”当然Java会对它自己的标准的Java类进行回收,但是别忘了我们SWT的机理。SWT是建立在C的基础上的,它使用的是JNI去调用标准的C包,所以当我们在结束程序的时候需要把这些都释放掉。这也算是SWT一个不尽和人意的地方吧,不过释放的方式很简单。只要调用其dispose()方法就可以了。而且一旦父对象被释放,其下的所有子对象也都被自动释放。也就是说你的Shell如果dispose了,那么其下的Button、Label、Composite也就都自动dispose了。
正在阅读:
SWT的API包09-09
北外研究生录取-博士05-07
A类表 - 承包单位用表10-30
傲慢与偏见|Pride,and,Prejudice|有声英语名著02-12
四年级奥数 第七讲 枚举法03-25
外科护理新进展01-07
天宝S6,S8全站仪摄影测量技术展示05-27
我 眼 中 的 高 效 课 堂01-10
高考完形固定搭配05-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- SWT
- API
- 党史知识题库
- 山东省济南市2019届中考物理专题复习电功电功率 - 含答案
- 第八章 电位法及永停滴定法
- 消防连廊现场施工方法
- 乌兹别克斯坦写字楼项目市场投资前景预测报告
- 我为深化改革献一策
- 计算机应用基础 习题 每一章
- 2019年整理集团公司绩效考核管理办法与实施方案资料
- 焊工卷一
- 龙口渠龙新渠实施性施工组织设计
- 2017年全球及中国医疗床现状调研及发展趋势走势分析报告目录
- 2019年晋升士官申请书-实用word文档(1页)
- 大体积混凝土方案 - 图文
- 用假购销合同骗取贷款
- 《药物治疗学》练习册
- 最新(部编人教版)小学数学三年级上册第2课时 三位数减三位数2 教案
- 湘版美术三年级下册美术期末考试题(含答案)
- 关系数据库与SQL语言09级期末试卷A
- H3C帧中继配置
- 土木工程概论习题汇总(答案)