社区
Java SE
帖子详情
SWT和Swing到底哪个好?
zhuyinli
2005-03-29 06:14:15
As the title
...全文
213
3
打赏
收藏
SWT和Swing到底哪个好?
As the title
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hant
2005-07-07
打赏
举报
回复
个人觉得SWT结构体系和Win32的体系基本一致,并且提供了很全面的组件包,开发速度很快,稍有遗憾是发布需要带上dll,不过,基于win32的软件有几个不要dll呢!
jFresH_MaN
2005-03-29
打赏
举报
回复
呵呵,目前来说SWT效果比较好,界面比较漂亮
但是它要依赖第三方jar文件,而不是jdk标准部分
zzzle
2005-03-29
打赏
举报
回复
都不好
SWT
、
Swing
或 AWT:哪个更适合您
SWT
、
Swing
或 AWT:哪个更适合您
swt
swing
awt的区别
swt
swing
awt的区别
浅析Java中
Swing
与
SWT
和AWT的区别及实现_王亚南
Swing
和
SWT
,AWT 技术都是在 Java 图形化界面设计中常用的开发包,在进行 Java GUI 编程时,大家或许经 常徘徊在
SWT
,
Swing
,AWT 之间选择,哪一个更合适自己? 本文简单介绍了三者中各自的功能特点,以及之间的区别与联系, 通过各方面比较总结出在实际应用中三者的最优化选择
开发项目用
SWING
与RCP与
SWT
.JFACE的分析
开发项目用
SWING
与RCP与
SWT
.JFACE的分析 第一个
SWT
程序 下面让我们开始一个
SWT
程序。(注意:以下的例子和说明主要针对Windows平台,其它的操作系统应该大同小异)。首先要在Eclipse安装文件中找到
SWT
包,Eclipse组织并不提供单独的
SWT
包下载,必须下载完整的Eclipse开发环境才能得到
SWT
包。
SWT
是作为Eclipse开发环境的一个插件形式存在,可以在${你的eclipse安装路径}\plugins路径下的众多子目录下去搜索
SWT
.JAR文件,在找到的JAR文件中包含了
SWT
全部的Java类文件。因为
SWT
应用了JNI技术,因此同时也要找到相对应的JNI本地化库文件,由于版本和操作平台的不同,本地化库文件的名称会有些差别,比如
SWT
-WIN32-2116.DLL是Window平台下Eclipse Build 2116的动态库,而在Unix平台相应版本的库文件的扩展名应该是.so,等等。注意的是,Eclipse是一个开放源代码的项目,因此你也可以在这些目录中找到
SWT
的源代码,相信这会对开发很有帮助。下面是一段打开空窗口的代码(只有main方法)。 import com.e2one.example; 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(); } } 确信在CLASSPATH中包括了
SWT
.JAR文件,先用Javac编译例子程序。编译无错后可运行java -Djava.library.path=${你的
SWT
本地库文件所在路径} com.e2one.example.OpenShell,比如
SWT
-WIN32-2116.DLL件所在的路径是C:\
swt
lib,运行的命令应该是java -Djava.library.path=c:\
swt
lib com.e2one.example.OpenShell。成功运行后,系统会打开了一个空的窗口。 剖析
SWT
API 下面再让我们进一步分析
SWT
API的组成。所有的
SWT
类都用org.eclipse.
swt
做为包的前缀,下面为了简化说明,我们用*号代表前缀org.eclipse.
swt
,比如*.widgets包,代表的是org.eclipse.
swt
.widgets包。 我们最常用的图形构件基本都被包括在*.widgets包中,比如Button,Combo,Text,Label,Sash,Table等等。其中两个最重要的构件当数Shell和Composite。Shell相当于应用程序的主窗口框架,上面的例子代码中就是应用Shell构件打开一个空窗口。Composite相当于
SWING
中的Panel对象,充当着构件容器的角色,当我们想在一个窗口中加入一些构件时,最好到使用Composite作为其它构件的容器,然后再去*.layout包找出一种合适的布局方式。
SWT
对构件的布局也采用了
SWING
或AWT中Layout和Layout Data结合的方式,在*.layout包中可以找到四种Layout和与它们相对应的布局结构对象(Layout Data)。在*.custom包中,包含了对一些基本图形构件的扩展,比如其中的CLabel,就是对标准Label构件的扩展,上面可以同时加入文字和图片,也可以加边框。StyledText是Text构件的扩展,它提供了丰富的文本功能,比如对某段文字的背景色、前景色或字体的设置。在*.custom包中也可找到一个新的StackLayout布局方式。
SWT
对用户操作的响应,比如鼠标或键盘事件,也是采用了AWT和
SWING
中的Observer模式,在*.event包中可以找到事件监听的Listener接口和相应的事件对象,例如常用的鼠标事件监听接口MouseListener,MouseMoveListener和MouseTrackListener,及对应的事件对象MouseEvent。 *.graphics包中可以找到针对图片、光标、字体或绘图的API。比如可通过Image类调用系统中不同类型的图片文件。通过GC类实现对图片、构件或显示器的绘图功能。
swing
2
swt
包
swing
2
swt
java应用开发包,貌似现在很少了
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章