awt和swing的区别

简单解释:

awt包中很多组件是组件自身调用本地操作系统代码。

swing包中组件是调用本地虚拟机方法,再由虚拟机方法调用本地操作系统代码。

详细解释:

awt是abstract Windows toolkit(抽象窗口工具包)的简称,这个包提供了与本地图形界面进行交互的接口。awt的图形界面函数与操作系统的图形界面函数是一一对应的。所以来说,awt构建图形用户界面,实际上是awt函数调用本地操作系统提供的图形库来实现的。但是,不同操作系统的图形库是有差别的,这些差别会使java代码不能实现“一次编译,到处运行”的特点。因此,为了不违背java的这个特点,awt不得不抛弃各个操作系统独有的功能,只实现各个操作系统通有的功能。因为awt是靠本地操作系统本地方法实现图形界面的,所有又称awt为重量级组件。

swing是在awt基础上构建的一套新的图形库,他实现了awt所有功能,同时又用纯java代码对这些功能进行了扩充,例如并不是所有操作系统都提供了对树形控件的支持,但是,swing利用了awt基本作图方法对树形控件进行了模拟。因为swing中的功能是利用纯java代码写的,因此一个平台上的树形控件可以在另一个平台上运行。因为swing没有使用本地操作系统方法来实现图形用户界面,因此有称swing为轻量级控件。

AWT和Swing之间的基本区别

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值