使用Eclipse进行SWT编程(2)

5. Eclipse外运行SWT应用程序

要在不使用Eclipse的环境下运行SWT应用程序,swt.jar库必须在classpath,并且java.library.path环境变量必须正确设置。根据主机平台,必须有合适的本地库存在。对于Windows平台,你可以根据如下来完成本地库的配置:

  1. swt.dll放在和程序相同的文件夹下。

  2. swt.dll放在JAVA_HOME/bin/文件夹下。

  3. swt.dll放在c:/windows/system32文件夹下。

javac -classpath c:/swt/swt.jar HelloWorld.java
Java -classpath c:/swt/swt.jar;. -Djava.library.path=c:/swt HelloWorld
java.library.path
JNI必需的环境变量。如果你没有设置这个环境变量。你的DLL 类是不能访问的。在这种情况下,应用程序不能正常的运行,并会抛出异常。

SWT库

Swt库存在于Eclipse的plug-in目录下。如果你想不下载整个Eclipse包而获得SWT库,你可以在http://www.eclipse.org/downloads目录下单独下载这个SWT库。

6. SWT包(Packages

SWT主要由下列包组成。这些包的定义是从EclipseAPI文档上得到的。你可以在Eclipse的网站上获得整个API文档。
org.eclipse.swt:
包含了定义了SWT需要使用的常量和异常的类。这个包由三个类组成:SWT, SWTExceptionSWTErrorSWT类可能是最受欢迎的类,因为它包含了SWT库所需要的常量如键盘、错误、颜色、布局、文本样式、按钮等常量。
org.eclipse.swt.widgets:
包含了大多数核心SWT窗口组件,包括支持的接口和类。
org.eclipse.swt.events:
定义了SWT组件使用的typed events, listenersevents。这个包有三组不同的类:Listener接口,Adapter类和Event类。
org.eclipse.swt.dnd:
包含了对SWT窗口组件拖放(drag-and-drop)支持的类。
org.eclipse.swt.layout:
包含了提供对SWT窗口组件自动安置和大小控制的类。
org.eclipse.swt.print:
包含了对SWT窗口组件提供打印支持的类。
org.eclipse.swt.graphics:
这个包提供了实现基本绘图操作需要的点,长方形、区域,颜色,光标,字体,图像上下文(GC)等的类和包含了显示图像代码和载入/保存他们的公有API的图像类。

7. 对话框

对话框的实现是本地的。也就是说,对话框像窗口组件一样是平台组件。SWTDialogs是从Dialog抽象类继承的。对话框不是窗口组件但是他可以容纳窗口组件。

2. Dialog类层次图.

SWT有不同类型的对话框。有些对话框具有特殊的属性。Dialog类可以如源代码 2中使用

源代码2. MessageBox例子

MessageBox messageBox =

  new MessageBox(shell, SWT.OK|SWT.CANCEL);

if (messageBox.open() == SWT.OK)

{

  System.out.println("Ok is pressed.");

}

每个对话框的open()方法返回不同的类型。例如, MessageBox对话框从open()方法返回int类型。因此,需要编写不同的条件来处理每一个对话框的返回值。

ColorDialog显示一个色彩选择调色板。它从return方法返回一个RGB对象。

DirectoryDialog使你可以选择一个目录。它从open()方法返回一个字符串。返回值就是选择的目录。当然,也可以设置额外的过滤器来过滤有些目录。

FontDialog使用户能够从系统所有的字体中选择一种字体。它从open()方法返回一个FontData对象。

FileDialog使用户能够选择一个文件。另外,可以设置扩展名过滤器,路径过滤器和文件名过滤器。对话框有如1所示的样式:

1. SWT对话框style bit常量

SWT.OPEN

Shows Open button in the dialog

SWT.SAVE

Shows Save button in the dialog

PrintDialog使用户在打印之前选择打印机。它从open()方法返回一个PrinterData对象。

MessageBox用于给用户回馈信息。你可以使用或(|)操作来联合不同的样式,如源代码3所示:

源代码3. MessageBox例子

 MessageBox messageBox =

   new MessageBox(shell,

    SWT.OK|

    SWT.CANCEL|

    SWT.ICON_WARNING);

 messageBox.setMessage("www.korayguclu.de");

 messageBox.open();

可用的按钮常量如下所列。使或操作可以完成不同按钮的联合。SWT框架按照style bits创建对话框。按钮常量有:SWT.ABORT SWT.OK SWT.CANCEL SWT.RETRY SWT.IGNORESWT.YESSWT.NO

2 显示了对话框可以使用的图标。

2. SWT图标style bit常量

SWT.ICON_ERROR

 

SWT.ICON_INFORMATION

SWT.ICON_QUESTION

SWT.ICON_WARNING

SWT.ICON_WORKING

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值