正在阅读:在Eclipse中使用SWT进行界面设计在Eclipse中使用SWT进行界面设计

2004-10-11 14:41 出处:CSDN 作者:yipsilon 责任编辑:linjixiong

  
  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, <styleBits> )。可以使用或(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.<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:\eclipse\plugins\org.eclipse.swt.win32_2.1.0\os\win32\x86

  注意要输入你自己的swt.jar所在的路径。


  小技巧:加载原生库:
  如果你需要加载自己应用程序所使用的原生库,可以使用Runtime.getPlatform.loadLibrary("libraryname")方法。


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品