AWT和Swing

AWT和Swing都是java中的包。

AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。

Swing :为解决 AWT 存在的问题而新开发的图形界面包。Swing是对AWT的改良和扩展。

AWT和Swing的实现原理不同:
       AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。也就是说,当我们利用 AWT构件图形用户界面的时候,实际上是在利用操作系统的图形库。
       不同的操作系统其图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT不得不通过牺牲功能来实现平台无关性。因此,AWT 的图形功能是各操作系统图形功能的“交集”。
        因为AWT是依靠本地方法来实现功能的,所以AWT控件称为“重量级控件”。

而Swing ,不仅提供了AWT 的所有功能,还用纯粹的Java代码对AWT的功能进行了大幅度的扩充。
       例如:并不是所有的操作系统都提供了对树形控件的支持, Swing则利用了AWT中所提供的基本作图方法模拟了一个树形控件。
       由于 Swing是用纯粹的Java代码来实现的,因此Swing控件在各平台通用。
       因为Swing不使用本地方法,故Swing控件称为“轻量级控件”。

AWT和Swing之间的区别:
       1)AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。
       2)AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。

在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。例如:
       1)对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。
       2)在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素。所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。

时间: 2024-10-17 03:49:11

AWT和Swing的相关文章

java的awt和swing的区别于联系

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

混沌,awt和swing绘制平面图形简介

混沌,awt和swing绘制平面图形简介 1.混沌与细胞自动机 曾经翻过一本<混沌与分形-科学的新疆界>的书,当时最初的印象就是使用程序脚本呈现出各种好看的图案,以及细微的起始值的差别会造成的截然不同的结果. 昨天又翻到了『细胞自动机』以及『生命游戏』这样的词,曾经在霍金的书里也看到过有一个计算机科学家用程序模拟物种演化的片段.细胞自动机正是当时的那个程序. 2.使用awt绘制图形 想用java的程序把它表现出来,这需要一点点的绘制平面图形的方法.这里使用的是awt和swing.具体内容可以参

十一:Java之GUI图形Awt和Swing

一. AWT和 Swing AWT 和 Swing 是 Java 设计 GUI用户界面的基础.与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件.正是这个原因,Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用.所以一开始使用AWT 的程序员很快就转向使用 Swing 了. 那为什么 AWT组件没有消亡呢?因为 Swing 是架构在 AWT 之上的,没有 AWT 就没有Swing.所以程序员可以根据自己的习惯选择使用 AWT 或者是 Swing.但是,最好不要二者混

JavaSE AWT与Swing的区别

AWT 组件具有平台相关性,它是系统对等类的实现.而 Swing 组件在不同平台具有一致性的表现,另外还可以提供本地系统不支持的一些特征,因此 Swing 比 AWT 的组件实用性更强.Swing 采用了 MVC(Model-View-Controller,即模型-视图-控制)设计模式. (1)组件的多样化Swing 的基础是 AWT,它提供了比 AWT 更多的图形界面组件.Swing 组件的类名都是以字母”J“开头, 除AWT 具有的基本组件(按钮JButton.标签JLabel.复选框JCh

Java中awt和swing的关系和区别

概述 awt是抽象组件窗口工具包,是Java最早的用于编写图形应用程序的开发包. Swing是为了补充awt的一些功能性的缺失问题而开发的包,以awt为基础的. 软件包 java.awt 的描述 包含用于创建用户界面和绘制图形图像的所有类.在 AWT 术语中,诸如按钮或滚动条之类的用户界面对象称为组件.Component 类是所有 AWT 组件的根.有关所有 AWT 组件的公共属性的详细描述,请参见 Component. 当用户与组件交互时,一些组件会激发事件.AWTEvent 类及其子类用于表

AWT和Swing的简记

AWT[抽象窗口工具包,是Java提供的建立图形用户界面的工具集,可用于生成现代的.鼠标控制的图形应用接口,且无需修改,就可以在各种软硬件平台上运行.]和Swing[swing是Java语言在编写图形用户界面方面的新技术,Swing采用模型-视图-控制设计范式,Swing可以使Java程序在同一个平台上运行时能够有不同外观以供用户选择.]的比较: 1)AWT 是基于本地方法的C/C++程序,其运行速度比较快:Swing是基于AWT的Java程序,其运行速度比较慢. 2)AWT的控件在不同的平台可

14.1-全栈Java笔记: Java语言中GUI到底是神马鬼?| AWT | Swing

到目前为止,我们在Java中编写的基本都是基于控制台的程序:而Java编程语言之所以如此流行的一个主要原因之一,就是因为它支持图形用户界面功能,即GUI(Graphical User Interface). GUI(Graphical User Interface)即图形用户界面,就是应用程序提供给我们用户操作的图形界面,包括窗口.菜单.工具栏及其它多种图形界面元素,如文本框.按钮.列表框.对话框等.它能使应用程序显得更加友好. 学习Java的GUI编程主要是要掌握两个包,分别是:java.aw

Java GUI编程中AWT/swing/SWT的优缺点

http://www.cnblogs.com/dugang/archive/2010/10/22/1858478.html AWT AWT是Abstract Window Toolkit(抽象窗口工具包)的缩写,是SUN专门针对Java GUI编程提供的最早的也是最初的开发工具包,用来建立和设置Java图形用户界面,这个工具包提供了一套与本地图形界面交互的接口.AWT 中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系(peers).也就是说,当我们利用 AWT 来构件图形用户界面的时

13.1-全栈Java笔记:打飞机游戏实战项目|AWT技术|MyGameFrame

简介和项目目标 通过游戏项目学习整个Java基础知识体系,我们做了精心的设计,让每一章知识都能获得应用. 比如:多线程用来实现动画效果.容器实现对于多发炮弹的存取和处理.常用类等等的应用. 寓教于乐,让大家迅速入门,更希望通过喜闻乐见的小游戏,让大家爱上编程,爱上"程序员". 老鸟建议 很多朋友会疑惑:"游戏项目,又不能拿到企业面试中,为什么要讲?" 这是一种太过于功利的想法.就像,我们说:"今天吃个馒头,又不是长高,为什么要吃呢?" 游戏项目的