首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 软件教学-> 系统工具
在Eclipse中使用SWT进行界面设计-JSP教程,Java技巧及代码
作者:网友供稿 点击:118
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
在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的版本有关的。实在找不到你就用文件搜索功能吧。然后依次打开下面窗口project->properies->javabuildpath->libraries->add variable -> eclipse home ->extend将swt.jar文件加到类路径中。   接着,你肯定想编译这个swt应用了。但是会出现下面所示的运行异常。出现这个异常的原因是swt.jar库使用的是原生库。你需要设置java.library.path环境变量来使用java中的原生库。   控制台(console )的输出如下:   java.lang.unsatisfiedlinkerror: no swt-win32-2136 in java.library.path   at java.lang.classloader.loadlibrary(unknown source)   at java.lang.runtime.loadlibrary0(unknown source)   at java.lang.system.loadlibrary(unknown source)   at org.eclipse.swt.internal.library.loadlibrary(library.java:108)   at org.eclipse.swt.internal.win32.os.(os.java:46)   at org.eclipse.swt.widgets.display.internal_new_gc(display.java:1291)   at org.eclipse.swt.graphics.device.init(device.java:547)   at org.eclipse.swt.widgets.display.init(display.java:1316)   at org.eclipse.swt.graphics.device.(device.java:96)   at org.eclipse.swt.widgets.display.(display.java:291)   at org.eclipse.swt.widgets.display.(display.java:287)   at com.swtdesigner.trytry.main(trytry.java:24)   exception in thread "main"   按下面的步骤设置java.library.path变量:依次打开run-> run...-> java applicaton-> "project" ->arguments -> vm arguments。在"vm arguments"中输入   -djava.library.path=c:\eclipse\plugins\org.eclipse.swt.win32_2.1.0\os\win32\x86   注意要输入你自己的swt.jar所在的路径。   小技巧:加载原生库:   如果你需要加载自己应用程序所使用的原生库,可以使用runtime.getplatform.loadlibrary("libraryname")方法。
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·Java API的Date, Calendar日期处理相关类分析-JSP教程,Java技巧及代码
·log4j学习(上)-JSP教程,Java技巧及代码
·Asp.net2.0:如何使用ObjectDataSource(配合ORM)-.NET教程,Asp.Net开发
·怎么样配置JSP运行环境-JSP教程,Jsp/Servlet
·检测客户端显示器分辨率、浏览器类型和客户端IP-.NET教程,远程及网络应用
·WinCE 5.0边做边学(4)-.NET教程,评论及其它
·JavaScript正则表达式-JSP教程,Java技巧及代码
·J2EE平台介绍-JSP教程,J2EE/EJB/服务器
·一款类似ghost的系统备份恢复软件image it
·CSS滤镜:颜色渐变-ASP教程,ASP应用
最新文章
·photoshop照片处理:搞笑q版大头人像_photoshop教程
·photoshop改废片为非主流式签名图_photoshop教程
·如何做一个赚钱的英文站点?_网赚技巧
·adsense中文本地化以及纳税问题_网赚技巧
·seomoz创始人randfish访谈_站长访谈
·经验总结:网站最令人讨厌的几个用户体验_站长心得
·让抄袭有点技术含量 一个坚持做站4年的站长有感_站长心得
·widnows vista下修改最近打开文件的显示数目_windows vista
·从techweb的失败谈资讯类网站的存在价值_站长心得
·google中文搜索使用说明_google推广
相关主题
  • 在eclipse中使用checkstyle插件自动检查编码规范-JSP教程,Java技巧及代码
  • 在eclipse上用myeclipse开发部署struts-JSP教程,Java技巧及代码
  • 在Eclipse上搭建Nokia手机的J2ME开发环境-JSP教程,Java技巧及代码
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭