SmileFace
与java一起走过的日子
posts - 41,  comments - 8,  trackbacks - 0
SWT是一个IBM开发的跨平台GUI开发工具包。一个SWT应用程序的基本组成部分为显示界面(Display)、命令界面(Shell,使命令进入并使运行初始化)和窗口部件(Widgets)。Display负责管理事件循环和控制UI线程和其他线程之间的通讯。Shell是应用程序中被操作系统窗口管理器管理的窗口。每个SWT应用程序至少需要一个Display和大于等于1个的Shell实例。

如果一个应用程序使用了多个线程,那么每个线程都使用的是Display对象分配给它自己的实例。程序员可以使用静态方法Display.getCurent()来得到Display对象的当前活动的实例。

  Shell用于在特定的操作系统中表现窗口。Shell有两种类型。第1种是高层shell,它是Display的子窗口,同时它也是一个主窗口。第2类是对话shell,这种shell要依赖于其他的shell窗口存在。shell窗口最终成为上述那种类型,要看在创建shell时传递给shell构造函数的是什么风格位(style bits)。一个shell的默认值是DialogShell。也就是说,如果不带参数,那默认就是一个对话shell。而如果给参数赋予了一个Display对象,则该shell将是一个高层shell。

  进行SWT开发前的环境设置

  为了进行SWT应用开发,你需要把SWT库添加到类路径(classpath)上,并设置必要的环境变量。

        首先,你要在ECLIPSE_HOMEeclipsepluginsorg.eclipse.swt.win32_2.1.0wswin32目录下找到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.〈clinit〉(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.〈init〉(Device.java:96) 
    at org.eclipse.swt.widgets.Display.〈init〉(Display.java:291) 
    at org.eclipse.swt.widgets.Display.〈init〉(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:eclipsepluginsorg.eclipse.swt.win32_2.1.0oswin32†

  注意要输入你自己的swt.jar所在的路径。
posted on 2006-05-25 12:11 SmileFace 阅读(633) 评论(1)  编辑  收藏 所属分类: Java-Studying

FeedBack:
# re: SWT基础
2007-10-17 09:28 | 过之人
SWT的全称是什么  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2006年5月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(2)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜