GUI(Graphic User Interface)为程序提供图形界面,它最初的设计目的是构建一个通用的GUI,使其能在所有平台上运行。在Java1.0中基础类AWT(Abstract Windowing Toolkit)并没有达到这个要求,于是在Java2.0之后的版本出现了Swing,它是AWT组件的增强组件,但它并不能完全代替AWT组件,这两种组件需要同时出现在一个图形用户界面中。

小结

awt和swing的区别?

AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

从版本上看,awt出现在JDK1.0及以后版本。swing出现在JDK2.0及以后版本。

从功能上看,虽然都是设计GUI的类库,但是swing的功能更加强大。例如,设计一个按钮,这个按钮上显示一幅图片,在awt中就很费事,但是在swing中就很方便。

JavaSWT

SWT概述

SWT是IBM公司开发的UI开发组件,它与AWT/SWING组件类似,但是SWT克服了AWT/SWING中许多问题,所以用SWT编写UI程序无论在美观成都还是响应速度上都远远超越了AWT和SWING.这主要是因为AWT只是单纯模拟本地操作系统窗口组件,而SWT最大化了操作系统的图形构件API,也就是说只要操作系统提供了图形构件,SWT就可以利用JNI调用他们,只有操作系统中不提供的组件SWT才会去模拟实现. 由于使用了JNI,使得它和本地操作系统紧密连接在一起,因此编写的界面和本地系统窗口几乎没有区别.JFace是SWT的一个增强库,它以来SWT并将其扩展,功能强大. 目前企业级的Java开发应用都会用到这个。

调用关系:

JFace→SWT→JNI→本地操作系统窗口组件

安装

下载SWT安装的Jar包(注意操作系统),也可以在eclipse的plugin目录中找到(SWT.jar),然后用WinRAR解压缩得到org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar以及5个dll文件,如果已经配置好了JDK,那么将jar文件复制到JDK/jre/lib/ext/中,将dll文件复制到JDK/jre/bin/目录下,就完成了安装。

http://zhidao.baidu.com/question/130025979.html?fr=ala0

JavaFX

JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和Java一样跨平台。

从Java8开始,JDK(Java开发工具包)包括了JavaFX库。 因此,要运行JavaFX应用程序,您只需要在系统中安装Java8或更高版本。

最新文章

  1. 转-IE浏览器自动配置代理脚本-Proxy.PAC文件及PAC相关语法
  2. PHP程序员面临的成长瓶颈
  3. 瀑布流图片自动式 masonry
  4. xcode添加音效
  5. WPF基础——Application
  6. Nginx 笔记与总结(15)nginx 实现反向代理 ( nginx + apache 动静分离)
  7. Apache 多端口多站点配置实例
  8. apache开启.htaccess及.htaccess的使用方法
  9. 利用monkeyrunner实现Android屏幕连续截图
  10. SQL基础检测
  11. 解题思路:house robber i && ii && iii
  12. 03 JVM 从入门到实战 | 简述垃圾回收算法
  13. js中的传值和传引用,判断两个数组是否相等
  14. CentOS7 使用systemctl来管理服务
  15. leecode第二百一十七题(存在重复元素)
  16. Go 的构建模式
  17. Linux命令之useradd和userdel(添加、删除用户)
  18. SQL Server 2012中的AlwaysOn尝试
  19. Java 11 究竟比 8 快了多少?看看这个基准测试
  20. scrapy--分布式爬虫

热门文章

  1. Greeplum 系列(四) 实战
  2. mybatis常用方法总结
  3. wins 软件安装
  4. 启动Hadoop HDFS时的“Incompatible clusterIDs”错误原因分析
  5. 设计模式21:State 状态模式(行为型模式)
  6. 编写高质量代码改善C#程序的157个建议——建议117:使用SSL确保通信中的数据安全
  7. Freemark与spring整合
  8. leetcode 字符串中的第一个唯一字符
  9. CentOS下Docker与.netcore(一) 之 安装
  10. 算法 UVA 11300