快速业务通道

Java GUI:SWT/Swing/AWT的介绍及比较 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
Java2D 和 Java3D 的支持还不怎么好。Eclipse 使用一个名为 Draw2D 的组件提供了另外一种单独的图形编辑框架(Graphical Editing Framework,GEF),它可以用来创建一些绘图应用程序,例如 UML 建模工具。 不幸的是,GEF 难以单独(即在整个 Eclipse 环境之外)使用。

与 AWT 和 Swing 不同,SWT 和 JFace 并不是 Java 技术的标准配置。它们必须单独进 行安装,这可以当作是 Eclipse 安装的一部分,也可以当作是单独的库进行安 装。Eclipse 小组已经使它的安装变得非常简单,并且 SWT 可以与 Eclipse 分 开单独运行。所需要的Java 档案文件(JAR)和动态链接库(DLL)以及 UNIX® 和 Macintosh 上使用的类似库可以从 Eclipse Web 站点上单独下载 。JFace 库需要您下载所有的Eclipse 文件,并拷贝所需要的JAR 文件。在下载 所需要的文件之后,我们还需要将这些 JAR 文件放到 Java CLASSPATH 中,并 将 DLL 文件放到系统 PATH 中。

特性的比较

下表对 AWT、SWT 和 Swing 库的很多特性进行了比较,这种比较并没有按照 任何特定顺序来进行。尽管没有完全列出所有特性,但是列出了很多最重要的特 性。

功能/角色/外表 AWT Swing SWT(风格)

显示静态文本 Label JLabel Label, CLabel

显示多行静态文本 Multiple Labels 具有 HTML 内容的Multiple JLabels 或 JLabel 具有新行的Multiple Labels 或 Label

显示多行格式化静态文本 具有不同字体的Multiple Labels 具有 HTML 内容 的JLabel 具有不同字体的Multiple Labels

单行文本输入 TextField JTextField Text(SWT.SINGLE)

多行文本输入 TextArea JTextArea Text(SWT.MULTI)

显示图像 N/A JLabel Label

显示文本和图像 N/A JLabel CLabel

Java GUI:SWT/Swing/AWT的介绍及比较(5)

时间:2010-12-24

提示弹出帮助 N/A 组件的setToolTip,JToolTip 子类 控件的 setToolTip

风格化的文本输入 N/A JEditorPane StyledText

从条目列表中进行选择 List JList List

简单按下具有文本的按钮 Button JButton Button(SWT.PUSH)

简单按下具有文本或图像的按钮 N/A JButton Button(SWT.PUSH)

绘图区域;可能用于定制控件 Canvas JPanel Canvas

选中/取消复选框 CheckBox JCheckBox Button(SWT.CHECK)

单选按钮选择 CheckBoxGroup ButtonGroup 和 Menu Group 和 Menu

从一个下拉列表中选择 Choice JComboBox Combo、CCombo

输入文本或从下拉列表中选择 N/A JComboBox Combo、CCombo

可滚动区域 ScrollPane JScrollPane 创建 Scrollable 子类

顶层窗口 Dialog、Frame、Window JDialog、JFrame、JWindow 具有不同风 格的Shell

通用窗口 Window JWindow Shell

框架窗口 Frame JFrame Shell(SWT.SHELL_TRIM)

对话框窗口 Dialog JDialog Shell(SWT.DIALOG_TRIM)

菜单 Menu JMenu Menu

MenuItem MenuItem JMenuItem MenuItem

菜单快捷键 通用击键 与 AWT 相同 依赖于主机的快捷键

弹出菜单 PopupMenu JPopupMenu Menu(SWT.POPUP)

菜单条 MenuBar JMenuBar Menu(SWT.BAR)

显示插入符号 N/A Caret Caret

Web 浏览器 N/A JTextPane(HTML 3.2) Browser(通过嵌入式浏览器)

Web 页面中的嵌入式控件 Applet JApplet 主机控件(例如 OLE)

其他控件的通用容器 Panel JPanel Composite

其他控件的有边界通用容器 Panel(如果是手工画的) 具有 Border 的 JPanel Composite(SWT.BORDER)

其他控件的有边界和标题的通用容器 N/A 具有 TitledBorder 的JPanel Group

单选按钮(一个被选中) Checkbox JRadioButton Button(SWT.RADIO)

单选按钮的控件扩充 CheckboxGroup RadioButtonGroup Group

箭头按钮 N/A 具有图像的JButton Button(SWT.ARROW)

支持文本显示方向 通过 ComponentOrientation

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号