- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I在eclipse中使用swt进行界面设计
在eclipse中使用swt进行界面设计 swt是一个ibm开发的跨平台gui开发工具包。至于为什么ibm要费劲自己另起炉灶开发一个gui工具包,而不是使用sun现有的由awt, swing, java 2d, java 3d等构成的java gui框架,那就说来话长了。(记得在一个bbs上读过一个关于swt起源的调侃类的帖子)。1. 为什么要使用swt? swt是一个ibm开发的跨平台gui开发工具包。至于为什么ibm要费劲自己另起炉灶开发一个gui工具包,而不是使用sun现有的由awt, swing, java 2d, java 3d等构成的java gui框架,那就说来话长了。(记得在一个bbs上读过一个关于swt起源的调侃类的帖子)。 在swt之前,sun已经提供了一个跨平台gui开发工具包awt (abstract windowing toolkit). 虽然awt框架也使用的是原生窗口部件(native widgets),但是它一直未能突破lcd问题。lcd问题导致了一些主要平台特征的遗失。如果你不明白的话(其实我也没明白),换句话说,如果平台a有窗口部件(widgets)1-40,而平台b有窗口部件(widgets)20-25,那么跨平台的awt框架只能提供这两个窗口部件集的交集。 为解决这个问题,sun又创建了一个新的框架。这个框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。这个方法虽然解决了lcd问题,并且提供了丰富的窗口部件集,但是它也带来了新的问题。例如,swing应用程序的界面外观不再和原生应用程序的外观相似。 虽然在jvm中这些swing应用程序已经得到了最大程度的性能改善,但是它们还是存在着其原生对应物所不具有的性能问题。并且,swing应用程序消耗太多的内存,这样swing不适于一些小设备,如pda和移动电话等。 ibm进行了尝试以彻底解决awt和swing框架带来的上述问题。最终,ibm创建了一个新的gui库,这就是swt。swt框架通过jni来访问原生窗口部件。如果在宿主(host)平台上无法找到一个窗口部件,swt就会自动地模拟它。 2. swt应用程序的组成 一个swt应用程序的基本组成部分为显示界面(display)、命令界面(shell,使命令进入并使运行初始化)和窗口部件(widgets)。display负责管理事件循环和控制ui线程和其他线程之间的通讯。shell是应用程序中被操作系统窗口管理器管理的窗口。每个swt应用程序至少需要一个display和大于等于1个的shell实例。 图1:从不同的角度看swt应用程序 图1从不同的角度展示了swt应用程序。左侧的图是一个简化的ui对象的继承图。中间的图展示了ui对象的容器结构(containment structure)。右侧的图则是创建后的ui外观。 如果一个应用程序使用了多个线程,那么每个线程都使用的是display对象分配给它自己的实例。程序员可以使用静态方法display.getcurent()来得到display对象的当前活动的实例。 shell用于在特定的操作系统中表现窗口。shell可以最大化、最小化或正常化。shell有两种类型。第1种是高层shell,它是display的子窗口,同时它也是一个主窗口。第2类是对话shell,这种shell要依赖于其他的shell窗口存在。shell窗口最终成为上述那种类型,要看在创建shell时传递给shell构造函数的是什么风格位(style bits)。一个shell的默认值是dialogshell。也就是说,如果不带参数,那默认就是一个对话shell。而如果给参数赋予了一个display对象,则该shell将是一个高层shell。 一些窗口部件的属性必须在创建它们的初期就要被设置。这些窗口部件的属性就是前面所说的风格位(style bits)。在swt的类中,风格位被定义为常数。例如,button button = new button( shell, )。可以使用或(or)操作符|来设置多个风格位。例如,如果想设置一个带边界的压下按钮,需要传递swt.push | swt.border作为风格位参数。3. 进行swt开发前的环境设置 为了进行swt应用开发,你需要把swt库添加到类路径(classpath)上,并设置必要的环境变量。 首先,你要在eclipse_home\eclipse\plugins\org.eclipse.swt.win32_2.1.0\ws\win32目录下找到swt.jar库文件。注意这里的org.eclipse.swt.win32_2.1.0目录是和eclipse的版本有
您可能关注的文档
- I土木工程施工ppt与书本总结.doc
- l计量经济学习题集修订版.doc
- I公共营养师实操练习题.doc
- I土木工程材料名词解释.doc
- l计量经济学庞皓第二版思考题答案.doc
- I土木工程材料概论3.doc
- I公共营养师常识.doc
- I土木工程概论 I2).doc
- I土木工程概论.doc
- l计量经济学试题及答案.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 螺杆空气压缩机排气含油量高原因分析和解决措施.pptx VIP
- GBT51121-2015 风力发电工程施工与验收规范.doc VIP
- 螺杆压缩机排气温度高原因分析.doc VIP
- 部编版(2024)道德与法治一年级下册道德与法治第二单元《我们一起长大》全单元教学课件.pptx
- 合成氨压缩机温度波动原因分析.docx VIP
- 2024年03月云南省特种设备安全检测研究院人员招考聘用编制外工作人员9人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx VIP
- 学堂在线大国航母与舰载机2025秋答案.docx
- 离心式压缩机轴瓦温度波动原因探析及解决措施.pdf VIP
- TCBDA55-2021住宅室内装饰装修工程质量验收标准.pdf VIP
- T/CSPSTC 41-2019钢结构建筑施工测量及监测技术规范.pdf
文档评论(0)