元旦放假三天,加了三天吧.但玩的时候比工作的时候,这几天看了eclipse的swt编程,感觉这个和java的swt以及swing差不多大,还是有些区别?不过这些区别只要对java的swt或是swing熟的,操作起来是没有什么?最重要的就是把环境给配置好,导入那些jar包,dll文件之类.
1导入swt.jar,在eclipse的目录下搜索,一般情况都会搜到,可能会根据你的eclipse的版本不同,在这搜的jar名字不一样,我用的org.eclipse.swt.win32.win32.x86_3.1.2.jar,把这个导入你的classpath中,别以为这就可以了,还要加个dll文件,swt-win32-3139.dll,这个的名字也是和eclipse的版本有关的,要是不加的会出现这个错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3139 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:123)
at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125)
at SwtHelloWorld.main(SwtHelloWorld.java:25) 这里会提示要加那个dll文件,我是直接放在javahome/bin下
2JFace.jar的引入,导入JFaced的jar,不只就这一个jar包,这个在eclipse的目录下能搜的到,我用的是org.eclipse.jface_3.1.1.jar,把这个放到classpath后,出现这个问题
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/core/runt
ime/IProgressMonitor 原因呢?因为还少一个jar,org.eclipse.core.runtime_3.1.2.jar,把这个也加上了.运行没有问题了.
这两个问题在新手学swt的时候是最需要注意的!