使用Eclipse进行SWT编程(2)

Eclipse SWT 布局总结 绝对布局 absolute ,表单布局 FormLayout (相对布局),填充布局 FillLayout(水平填充、垂直填充),网格布局 GridLayout(列数、列宽度是否相同),行布局 RowLayout(水平行、垂直行),栈布局 StackLayout (后进先显示) 阅读详情

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主要由下列包组成。这些包的定义是从Eclipse的API文档上得到的。你可以在Eclipse的网站上获得整个API文档。
org.eclipse.swt:
包含了定义了SWT需要使用的常量和异常的类。这个包由三个类组成:SWT, SWTException和SWTError。SWT类可能是最受欢迎的类,因为它包含了SWT库所需要的常量如键盘、错误、颜色、布局、文本样式、按钮等常量。
org.eclipse.swt.widgets:
包含了大多数核心SWT窗口组件,包括支持的接口和类。
org.eclipse.swt.events:
定义了SWT组件使用的typed events, listeners和events。这个包有三组不同的类: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. 对话框

对话框的实现是本地的。也就是说,对话框像窗口组件一样是平台组件。SWT的Dialogs是从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.IGNORE,SWT.YES和SWT.NO。

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

表2. SWT图标style bit常量

SWT.ICON_ERROR

 

SWT.ICON_INFORMATION

SWT.ICON_QUESTION

SWT.ICON_WARNING

SWT.ICON_WORKING

 

如何在eclipse中使用SWT 1.在www.eclipse.org/swt/下载SWT开发包:swt-4.3-win32-win32-x86.rar,并解压到任意文件夹 2.swt-4.3-win32-win32-x86文件夹下的swt.jar文件拷贝到eclipse\plugins 3.打开eclipse,新建项目HelloSWT,到Project->Properies->JavaBuildPath->Libraries 阅读详情

相关推荐

eclipse下搭建SWT图形界面开发环境

什么是SWT 参考:http://www.cppblog.com/baby-fly/archive/2009/10/20/99008.html         用java的人一定都知道AWT和Swing,而SWT(Standard Widget Toolkit)则是由Eclipse项目组织开发的一套完整的图形界面开发包,虽然当初仅仅是IBM为了编写Eclipse的IDE环境才编写的一套

wusuopuBUPT的专栏 2万+

吐吐槽,swt的相关dll文件!

今天,在看以前SWT的项目时,运行main方法,突然报了个异常:java.lang.UnsatisfiedLinkError: no swt-win32-3139  in java.library.path      查了一来回度娘,原来是少了个dll文件:swt-win32-3139.dll      于是在网上找啊找,终于在csdn的下载里找到了,给大家个连接http://download

zhangdanxing2008的专栏 1060

swt运行所需的dll

swt运行时所需的dll文件,包括swt-awt-win32-3236.dll swt-gdip-win32-3236.dll swt-win32-3229.dll swt-win32-3236.dll

使用Eclipse进行SWT编程

使用Eclipse进行SWT编程 1.为什么要使用SWT? SWT是IBM开发一套跨平台的GUI开发框架。为什么IBM要创建另一种GUI呢?为什么他们不使用现有的JavaGUI框架呢?要回答这些问题,我需要回到Java的早期时代。 Sun已经创建了一套跨平台的GUI框架AWT (Abstract Windowing Toolkit)。这个AWT框架使用了本地窗口组件(nat...

audb30540的博客 762

swt原生库(用java开发swt用)

用java开发过swt的都知道!详细自己去查文档吧。这里只提供插件,不提供技术。

swt-win32-3236.dll

jface/swt windows系统中所需动态链接库

SWT包和DLL包安装

在eclipse的plugins目录下,找到文件org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,文件名中中3.2.1 是eclipse 的版本号,v3235 是SWT 的序列号,不同的eclipse 版本这两个数字也不同。将org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar 解压到当前目录下。解压后得到四个

JohnYang2008的专栏 3179

Eclipse SWT 4.4 API 文档

Eclipse SWT 4.4 API 文档,根据官方zip源码包编译而成

使用SWT Designer做可视化开发

转载自NebulaSoft空间~:http://hi.baidu.com/nebulasoft   推荐一本很好的书,叫做《Eclipse SWT/Jface 核心应用》,清华大学出版社的,书里讲的都是Eclipse可视化开发,有代码有图,非常好。 这两天有人问我怎么用,那我就讲讲。 我现在用的是Eclipse3.5.2+SWT Designer7.3,感觉比Eclipse

Hello World! 2421

Eclipse开发经典教程:常用SWT组件.pdf

Eclipse开发经典教程:常用SWT组件.pdf

电机控制实战:SVPWM五段式与七段式算法在STM32上的实现对比

本文深入对比了SVPWM五段式与七段式算法在STM32上的实现效果,详细分析了两种算法在占空比控制、开关损耗和波形质量等方面的差异。通过实测数据,为工程师提供了针对不同应用场景的选型建议,包括电池供电设备和高精度伺服控制系统的优化方案。

h6i7j8的博客 584

Eclipse简介

历史Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。 2005年7月,稳定版3.1.0发布。目前最新的稳定版本为3.1.2。 [

羔羊也会怒吼 2816

jenkins连接外部k8s集群

k8s连接集群外Jenkins

liuchao666888的博客 1527

使用Eclipse进行SWT编程(1)

使用Eclipse进行SWT编程(1)"The best way to predict the future is to invent it."—Alan Kay1. 为什么要使用SWT?SWT是IBM开发一套跨平台的GUI开发框架。为什么IBM要创建另一种GUI呢?为什么他们不使用现有的Java GUI框架呢?要回答这些问题,我需要回到Java的早期时代。Sun已经创建了一套跨平台的GUI框架

hunterK的专栏 5314

Hermes Dashboard Web 端部署完整说明

通过反向代理(nginx)使用公网域名访问时,会遇到 Host 头校验、CORS 跨域、WebSocket 连接拒绝三个核心问题。本文档记录了完整的源码修改方案和部署步骤。确保 nginx 主配置加载了 WebSocket map(宝塔默认为。路径的公开访问(无需登录),其他路径仍受 Cookie 认证保护。Hermes Dashboard 默认绑定。访问站点时会先弹出浏览器密码框,输入用户。在 nginx 反向代理配置中的。环境变量动态读取允许的域名。nginx 配置中已添加。

大白菜代码的博客 801

手把手教你用Apple Developer App完成苹果开发者账号注册(含证件验证失败解决方案)

本文详细指导如何通过Apple Developer App完成苹果开发者账号注册,特别针对证件验证失败问题提供解决方案。从准备工作到注册流程,再到验证失败的处理方法,帮助开发者顺利完成注册,避免常见错误。

moss5的博客 1156

使用Eclipse进行SWT编程(5)

8.3. 组合窗口组件Composite Widgets组合窗口组件可以容纳其他的组合窗口组件。Composite类是组合窗口组件的父类。                             图 10. Composite可以容纳其他的组合类组合类可以容纳其他的组合类。这种容纳关系是用一个组合窗口组件类的构造函数来建造的。与Swing相比,SWT没有add() 方法;作为代替,你必须使用构造函

hunterK的专栏 5946

HID设备开发避坑指南:如何利用Windows内置驱动快速实现USB键盘模拟

本文详细解析了HID设备开发中的免驱方案与USB键盘模拟技术,重点介绍了HID协议的核心优势、开发基础架构及Windows平台的实现方法。通过实战案例和代码示例,帮助开发者快速掌握USB键盘模拟技术,避免常见开发陷阱,提升设备兼容性和性能。

lambda的博客 682
上一篇: 使用Eclipse进行SWT编程(1)
下一篇: 使用Eclipse进行SWT编程(3)
hunterK
博客等级 码龄23年 0粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值