AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,我们把它称为peers。 也就是说,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。 

Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充。例如说并不是所有的操作系统都提供了对树形控件的支持, Swing 利用了AWT 中所提供的基本作图方法对树形控件进行模拟。由于 Swing 控件是用100%的Java代码来实现的,因此在一个平台上设计的树形控件可以在其他平台上使用。由于在Swing 中没有使用本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。 

AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT 的Java程序,其运行速度比较慢。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。 

通俗的话: 

AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。 Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。
学swing 之前先学awt ,因为awt 是Java实现图形界面的基础。它能够完成编写界面的基本功能,最重要的是,事件的监听是由awt完成的。而swing是在awt基础上提供的新的界面工具包,它比awt运行速度快,界面也更加漂亮。 但是,事件的响应等工作还是要用awt来完成。

学习awt,着重学习事件监听和响应。然后学习swing。

转载于:https://blog.51cto.com/piggysky/1305106

Java中swing和awt初了解相关推荐

  1. java怎么给文本框加滚动条_懂Java中Swing的朋友,谁能帮我在Jtextare上加一个滚动条啊?很急!...

    懂Java中Swing的朋友,谁能帮我在Jtextare上加一个滚动条啊?很急! 关注:147  答案:2  信息版本:手机版 电脑版 解决时间 2021-01-13 13:01 提问者当我没来过 2 ...

  2. java中接口适配器实现,12.1.8 Java中的应用-AWT事件适配器(接口的适配器模式)...

    12.1.8  Java中的应用-AWT事件适配器(接口的适配器模式) 从以上的学习我们已经了解到,基于接口的适配器模式是采用抽象化接口的方式,来达到节省接口函数的目的,这一特性特别适合于Java A ...

  3. java中swing循环_在Java游戏循环中使用“ SwingUtilities.invokeLa...

    因此,我正在用JAVA创建一个等距游戏:简而言之,它有一个由图块组成的地图,当用户在屏幕上拖动鼠标时,地图就会移动.为了给大家一个主意,目前看起来像这样: 在实际的原型版本之前,我构建了一个小的Jav ...

  4. java中GUI的awt和Swing的知识点

    刚刚学习了java的GUI,写了几个程序,基本熟悉了awt和Swing,下面和大家分享一下知识点 1.JFrame的层次结构 参考:http://tieba.baidu.com/p/200421612 ...

  5. java swing 总结_对Java 中Swing的小总结

    最近把Swing里的内容稍微看了一下,Swing里的基本元素有: 1.容器 顶层容器 顶层容器常见的有两种: I.窗体(JFrame),它可以直接出现在系统桌面上,其它组件必须直接或间接借助顶层容器才 ...

  6. 让JAVA 中Swing界面更加美观

    在学习JAVA Swing界面制作的时候,总会觉得自己做得界面特别的丑,下面来分享自己在当时寻找到的几种让界面看起来更加高大尚一些的方法 1.用标签(JLabel)去去代替按钮(JButton)来实现 ...

  7. JAVA中Swing组件的标签,组合框和列表

    依旧接着上一篇文章来介绍Swing组件: 一.JLabel: 标签就是一个静态文本,使用方法也是很简单: 我们看一下例子: public class Action extends JFrame{JLa ...

  8. Java 中的 Swing 框架现在是不是被淘汰了?

    关于java中的Swing框架,我先说下如下的观点. 1 只要是用java开发的商业项目,就指着来挣钱的项目,都不会用Swing框架. 2 所以对java初学者来说,根本没必要学swing,甚至连类似 ...

  9. java的swing和awt_java的SWING与AWT的区别

    java的SWING与AWT的区别 AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口.AWT 中的图形函数与操作系统 ...

最新文章

  1. 监控摄像机 我们要享受飞行的乐趣
  2. Hyperscan-5.1.0 安装
  3. 好消息acesse_真实的acesse爱搜索 黑心传销骗子
  4. System V 消息队列
  5. HTML 学习笔记 day one
  6. python2和python3解释器的区别
  7. 安卓手机如何防盗_如何设置安卓手机各版本USB调试模式
  8. 百度地图mysql打点_关于百度地图连接MYSQL的问题,谢谢啦!
  9. 8个很棒的 jQuery 倒计时插件和教程
  10. python属于哪类型的编程语言_Python是什么类型的编程语言,有什么特性
  11. h5+js调取相机做取景框_iPhone 12 相机操作指南,用好了随手一拍就是大片!
  12. mina在spring中的配置多个端口
  13. ensp配置access口_eNSP初学者配置以太网2种链路端口:access、trunk
  14. 2021年第十二届蓝桥杯javaA组省赛
  15. Linux性能优化(五)——性能监控工具
  16. 一行python代码带你装B
  17. PPT参考线_Alt+F9
  18. nmos导通流向_MOS管类型-MOS管4种类型与工作原理解析
  19. 真人玩计算机图片大全集,微信真人表情图片大全 用自己的照片做微信真人表情包(好玩),各类搞笑素材任你选择...
  20. prototype.js开发者手册

热门文章

  1. [转载]Mysql数据库千万级数据处理优化
  2. 802.1p 优先级与内部优先级的映射关系
  3. Tomcat启动项目时内存溢出问题如何解决
  4. HTML属性——180226
  5. SpringMVC学习(二)——SpringMVC架构及组件(及其运行原理)
  6. 10.05 最初对Linux的了解,对Shell的认识
  7. Manacher算法 , 实例 详解 . NYOJ 最长回文
  8. 解决大众点评换设备无法用卷(你本次购买不符合活动规则)的问题
  9. VMware Tools按钮变灰色,无法安装的解决方法
  10. Sublime Text 3中文乱码问题的解决(最有效)