首页 > 其他分享 >AWT+Swing区别

AWT+Swing区别

时间:2022-10-30 20:55:36浏览次数:46  
标签:控件 功能 Java 区别 AWT Swing 图形

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 为基础的。

标签:控件,功能,Java,区别,AWT,Swing,图形
From: https://www.cnblogs.com/yx111/p/16842207.html

相关文章

  • 同样是文件上传,看看大神和菜鸟的实现区别
    大家好,我是可乐。基于电商项目,往往会有很多图片交互,比如海量的商品图片,卖家和买家的聊天图片,用户个人信息图片等等假如你作为公司电商项目技术负责人,你会如何去实现图片交互......
  • String、StringBuffer、StringBuilder的区别
    ①String的对象不可变,StringBuilder和StringBuffer的对象可变。②String、StringBuffer线程安全,StringBuilder线程不安全。③StringBuilder速度最快,StringBuffer次之,Stri......
  • 图解JS事件对象screenX、clientX、pageX, offsetX区别
    screenX、clientX、pageX和offsetX的区别1、screenX和screenY参照点:电脑屏幕左上角screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量screenY:鼠标点击位置相对......
  • script写在head与写在body中的区别
    咱先说将Javascript写在head里面的情况吧,如果你要在这里面去操控DOM元素,是会报错的,因为浏览器是先执行head标签里面的内容,在执行时你的DOM元素还没有生成.(使用了windo......
  • go 切片长度与容量的区别
    ###切片的声明切片可以看成是数组的引用(实际上切片的底层数据结构确实是数组)。在Go中,每个数组的大小是固定的,不能随意改变大小,切片可以为数组提供动态增长和缩小的需求,但......
  • Vue学习笔记之vue.js 两个等号 == 和三个等号===的区别 数字0和空字符串
    vuejavascript等号=====数字0空字符串/**==用于比较两者是否相等,忽略数据类型===用于更严谨的比较,值和值的数据类型都需要同时比较*/<!DOCT......
  • var、let和const的区别
    在JavaScript中有三种声明变量的方式:var、let、const。下文给大家介绍js中三种定义变量的方式const,var,let的区别。1.const定义的变量不可以修改,而且必须初始化。const......
  • HTTP1、HTTP1.1、http2、http3的区别
    1.改进持久连接HTTP/1.0每进行一次HTTP通信,都需要经历建立TCP连接、传输HTTP数据和断开TCP连接三个阶段(如下图)。在当时,由于通信的文件比较小,而且每个页面的引用也不......
  • HTTP1和HTTP2的区别
    1.Http1.x缺陷:线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞。2.Http1.0(短连接)缺陷:浏览器与服务器只保持短暂的连接,浏览器的每次请求都......
  • document.ready和window.onload的区别
    document.ready和window.onload的区别milletmi关注2018.12.2114:01:18字数207阅读2,717页面加载完成有两种事件一、document.ready,表示文档结构已经加载完成(......