`
maicose
  • 浏览: 5096 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

AWT和Swing之间的基本区别

阅读更多
简单的说:

AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。
Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。   

具体的说就是:

       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, 也就是通过牺牲速度来实现应用程序的功能。



这里好多视频下载学习http://www.itcast.cn/channel/video.shtml,喜欢的看看
分享到:
评论

相关推荐

    浅析Java中Swing与SWT和AWT的区别及实现_王亚南

    本文将深入分析Swing、SWT和AWT的区别和联系,并探讨它们各自的功能特点,帮助开发者做出更优化的选择。 首先,AWT(Abstract Window Toolkit)是Java最早提供的GUI工具包之一。AWT是Java的基础类库中的一个部分,...

    java实验报告之图形用户界面程序设计与 AWT/Swing组件

    在本实验报告中,主题是“Java实验报告...通过这个实验,学生能够深入了解Java GUI编程的基本概念,学习如何使用AWT和Swing组件创建交互式应用程序,并且掌握了事件处理机制。这为开发更复杂的Java桌面应用奠定了基础。

    如何在SWT中使用AWT、SWING组件

    在Java编程环境中,SWT(Standard Widget Toolkit)和AWT(Abstract Window Toolkit)以及SWING是三种常用的图形用户界面(GUI)开发库。SWT主要为Eclipse IDE提供支持,而AWT和SWING则是Java标准库的一部分。这篇...

    Swing,AWT.J2SE 学习帮助文档

    在J2SE的学习过程中,理解Swing和AWT之间的关系及其各自的优势是至关重要的。虽然AWT在某些情况下可能更适合对性能有极高要求的项目,但大多数现代的Java桌面应用开发倾向于使用Swing,因为它提供了更强大的功能和更...

    图形界面开发--AWT,Swing,SWT

    这些例子不仅涵盖了基本的Applet功能,还包括了如何使用AWT和Swing来创建更复杂的图形界面。 #### 18.3 使用Matisse4MyEclipse开发AWT/Swing应用 **18.3.1 安装开发插件** Matisse是MyEclipse中用于开发AWT和...

    java swing\awt开发的坦克游戏

    【Java Swing 和 AWT 坦克游戏开发详解】 在Java编程领域,Swing和AWT是用于构建图形用户界面(GUI)的两个主要库。本项目“java swing\awt开发的坦克游戏”旨在通过实际操作,帮助开发者了解和掌握这两个库在游戏...

    Java图形界面开发-awt、swing、swt

    通过学习AWT、Swing和SWT这三个主要的图形界面工具包,开发者可以更好地理解和掌握Java图形界面开发的基本原理和技术细节。无论是初学者还是有经验的开发者,都应该熟悉这些工具包的特点和应用场景,以便能够根据...

    高仿微信打飞机游戏(awt+swing)源代码

    《基于AWT和Swing的高仿微信打飞机游戏源代码解析》 微信打飞机游戏以其简洁的操作和竞技性吸引了大量的玩家,而本资源提供的是一款使用Java AWT和Swing库实现的高仿版本。本文将详细介绍这款游戏中涉及到的关键...

    Ecplise Swing AWT开发插件一(VE)

    在Swing和AWT之间,Swing是建立在AWT之上的高级库,提供了更多的组件和更现代的外观。AWT(Abstract Window Toolkit)是Java的原始GUI库,提供了基本的窗口、按钮、文本框等组件。Swing则在此基础上增加了更多功能和...

    利用Java AWT & Swing Gui 开发的一款学生信息管理系统.zip

    该系统采用Java语言,特别是其图形用户界面(GUI)库AWT和Swing进行开发,以实现用户友好的交互体验。 首先,我们来了解Java AWT(Abstract Window Toolkit)和Swing。AWT是Java最初提供的GUI库,提供了基本的窗口...

    基于java+awt+swing新冠密接模式挖掘管理系统:借助数据的经纬度坐标,计算接触人员之间关系

    zookeeper之节点基本操作(一)基于java+awt+swing新冠密接模式挖掘管理系统:借助数据的经纬度坐标,计算接触人员之间关系_No195COVID19T

    java 2 图形卷 I awt,II swing

    通过这两卷的学习,开发者不仅可以掌握Java GUI开发的基本技能,还能深入了解AWT和Swing之间的差异,以便根据项目需求选择合适的库进行开发。无论是开发简单的桌面应用,还是构建复杂的企业级GUI系统,这些知识都将...

    基于Swing和AWT实现的仿windows记事本

    在Java编程领域,Swing和AWT是两个重要的图形用户界面(GUI)工具包,用于构建桌面应用程序。本文将深入探讨如何使用Swing和AWT来实现一个仿Windows记事本的应用程序,以及该程序中包含的主要功能和设计特点。 首先...

    Java-AWT

    AWT中的组件是创建GUI的核心元素,包括基本组件(如Button、Label、TextField)和容器(如Frame、Panel)。这些组件可以组合起来创建复杂的用户界面。例如,`Frame`是一个顶级容器,可以包含其他组件;`Panel`则用于...

    SWT、Swing 或 AWT:哪个更适合您

    在选择合适的图形用户界面(GUI)工具包时,开发者面临着多种选项,其中包括Eclipse的SWT、Java Swing和Abstract Window Toolkit(AWT)。每种工具包都有其独特的优势和局限性,因此理解它们之间的差异对于做出明智...

    Java的GUI设计-AWT基础-窗口类-AWT基本组-bb--Read.ppt

    除了这些基本类,AWT还包括多个软件包,如java.awt.color、java.awt.datatransfer、java.awt.dnd等,它们分别支持颜色和颜色空间、数据传输(包括剪贴板操作)以及拖放功能。java.awt.event包提供了事件类和监听器,...

    Java2图形设计卷1_AWT

    9. AWT与Swing的区别: 虽然AWT是Java GUI的早期框架,但后来的Swing库提供了更多的功能和更好的外观。书中可能也会提及两者的异同,以及在何时选择使用AWT或Swing。 10. 示例代码和实践项目: 书籍中通常会包含...

    王者归来之Java图形(Swing&Awt)编程(经典).chm

    在Java中,有两种主要的图形用户界面(GUI)工具包:Abstract Window Toolkit(AWT)和Swing。"王者归来之Java图形编程(经典)"系列涵盖了这两个关键组件,为开发者提供了深入的学习资源。 AWT,是Java早期的GUI库,...

Global site tag (gtag.js) - Google Analytics