安装swt

需要在你的程序中使用swt的功能,首先你需要有两个文件:swt.jar和它对应的一个dll文件,这两个文件在F:\eclipse\plugins\org.eclipse.swt.win32_3.0.1(看你自己的eclipse版本)目录的os和ws目录下,你的classpath需要加入swt.jar,jvm的参数需要加上 -Djava.library.path=“swt-win32-3063.dll所在目录的绝对路径”。

For example:假如你的swt.jar和它的dll放在F:\swt目录下,则

java -cp F:\swt\swt.jar -Djava.library.path=F:\swt  YourProgram

如果是在eclipse中开发,你需要在你的工程构建路径中加入swt.jar的路径,在运行中的jvm参数中加入
-Djava.library.path="dll所在目录的绝对路径"

工程-->右键属性-->java构建路径-->库-->添加外部jar-->添加swt.jar(自己找找在哪儿)

在Eclipse外使用swt时,可以把swt-3.0.1-win32.zip中的4个*.dll放到c:\windows\system32或%Java_home%\jre\bin\下,这样可以不用设置-Djava.library.path

一个SWT应用程序的基本组成部分为显示界面(Display)、命令界面(Shell,使命令进入并使运行初始化)和窗口部件(Widgets)。Display负责管理事件循环和控制UI线程和其他线程之间的通讯。Shell是应用程序中被操作系统窗口管理器管理的窗口。每个SWT应用程序至少需要一个Display和大于等于1个的Shell实例。

183109.JPG
图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, <styleBits> )。可以使用或(OR)操作符“|”来设置多个风格位。例如,如果想设置一个带边界的压下按钮,需要传递SWT.PUSH | SWT.BORDER作为风格位参数。
eg:
现在写一个例子程序:
第1种方法::::要得到swt.jar可以单独在eclipse 下载页面下载了,,
第2种方法::::也可以在安装eclipse目录下面得到:
D:\eclipse-SDK-3.0.1-win32\eclipse\plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86
下面得到4个*.dll
D:\eclipse-SDK-3.0.1-win32\eclipse\plugins\org.eclipse.swt.win32_3.0.1\ws\win32得到swt.jar包
(把swt-3.0.1-win32.zip中的4个*.dll放到%Java_home%\jre\bin\下,awt.jar包可以放在C:\jdk1.5.0_01\jre\lib\ext\下面,这样每次启动vm都会加和这个包,,好了配置这样就可以做下面的工作了,,这样作就可以不用加入classpath了,
///当然若你把swt.jar加入了classpath了,,你就不用再加入到C:\jdk1.5.0_01\jre\lib\ext下了,,任你选则)
(这个程序执行以后,,打个一个窗口)
//OpenShell.java
import org.eclipse.swt.*;

import org.eclipse.swt.widgets.*;

import org.eclipse.swt.layout.*;

import org.eclipse.swt.events.*;

import org.eclipse.swt.graphics.*;
public class OpenShell{
 public static void main(String[] args){
  Display display=new Display();
  Shell shell=new Shell(display);
  shell.open();
  while(!shell.isDisposed()){
  if(!display.readAndDispatch())
  display.sleep();
 }
 display.dispose();
}
}
/*
若保存在d:\OpenShell.java
那么打开dos窗口
开始>运行>cmd(按enter键)
进入d:下面C:\Documents and Settings\Administrator>d:
D:\>javac OpenShell.java
D:\>java OpenShell
看到结果没有,,若没有的话记得给我留言..


*/

转载于:https://www.cnblogs.com/javazhai/archive/2005/10/12/252946.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值