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, 也就是通过牺牲速度来实现应用程序的功能。
今天,在看canvas组件的时候,碰到了Frame但是退出时有点麻烦,于是联想到它与JFrame的联系,继而深入到了AWT和swing的区别。所以,参考了一些资料,写了这篇文章
分享到:
相关推荐
### Java中AWT和Swing的关系及区别 #### 一、AWT简介 AWT(Abstract Window Toolkit,抽象窗口工具包)是Java最早提供的用于创建图形用户界面(GUI)的API之一。它由一系列用于创建GUI组件(如按钮、文本框等)的...
### AWT与Swing的关系及区别 在Java图形用户界面(GUI)开发中,AWT(Abstract Window Toolkit)和Swing是两个非常重要的组件库,它们都为开发者提供了创建跨平台应用程序的能力。本文将深入探讨AWT与Swing之间的...
在J2SE的学习过程中,理解Swing和AWT之间的关系及其各自的优势是至关重要的。虽然AWT在某些情况下可能更适合对性能有极高要求的项目,但大多数现代的Java桌面应用开发倾向于使用Swing,因为它提供了更强大的功能和更...
而“基于java+awt+swing新冠密接模式挖掘管理系统:借助数据的经纬度坐标,计算接触人员之间关系_No195COVID19TightJointPatternMining”则可能是某个特定版本或分发包的文件名,它体现了该系统的研发编号和目标功能...
基于J2SE+Awt+Swing+Mysql餐厅前台+后台管理系统源码.zip 该工程属于J2SE 项目,使用Awt+Swing+Mysql。这是大二下学期暑假发了一个月时间做的,是一个别人给的需求,做一个餐厅前台+后台管理,按照需求分析做了一个...
Java AWT(Abstract Window Toolkit)和Swing是用于构建图形用户界面(GUI)的两个库,主要用于桌面应用程序开发。在本项目中,"用AWT Swing制作的登录注册页面,连接MySQL",开发者创建了一个使用这两种技术的简单...
该系统采用Java语言,特别是其图形用户界面(GUI)库AWT和Swing进行开发,以实现用户友好的交互体验。 首先,我们来了解Java AWT(Abstract Window Toolkit)和Swing。AWT是Java最初提供的GUI库,提供了基本的窗口...
本项目使用了Java的图形用户界面库——AWT(Abstract Window Toolkit)和Swing,两者都是Java Foundation Classes (JFC) 的一部分,用于构建桌面应用的丰富用户界面。这里,我们将深入探讨这两个库在项目中的应用...
**Swing与AWT的关系** 尽管Swing提供了更多的功能和更好的外观,但AWT仍然在Swing中起着基础作用。一些AWT组件,如窗口(Window)和对话框(Dialog),被Swing组件所继承和扩展。同时,Swing的组件通常会委托AWT组件...
**Swing与AWT的关系** Swing是建立在AWT之上的,它使用纯Java实现,提供了更多的组件和更现代的外观。Swing的组件被称为轻量级组件,因为它们不依赖于操作系统,而AWT的组件被称为重量级组件,它们与操作系统紧密...
标题中的“通讯录 java oracle swing awt”表明这是一个关于使用Java编程语言开发的通讯录应用,其中涉及到Oracle数据库以及Swing和AWT两个图形用户界面(GUI)库。以下是基于这些关键词的详细知识点: 1. **Java**...
它提供了三个主要的工具包:SWT(Standard Widget Toolkit)、Swing和AWT(Abstract Window Toolkit)。这三个工具包各有特点,适用于不同的开发场景。 AWT是Java最早的GUI工具包,它是Java平台的基础,包含了基本...
Java AWT(Abstract Window Toolkit)是Java平台早期的图形用户界面(GUI)工具包,它为开发者提供了构建桌面应用程序的基本组件,如按钮、文本框、菜单...在实践中,开发者常常结合使用AWT和Swing,以利用各自的优势。
学习AWT、Swing和SWT时,理解它们之间的关系和各自的优势至关重要。AWT是基础,Swing是其增强版,而SWT则提供了更接近原生体验的组件。在实际开发中,根据项目需求和性能要求,开发者可以选择适合的库。例如,如果...
【基于Swing AWT的超市管理系统】是一款专为学习和毕业设计而设计的软件项目,它结合了Swing和AWT两种图形用户界面(GUI)技术,构建了一个全面的、功能丰富的超市运营平台。Swing是Java的一个核心库,提供了丰富的...
Java Swing和AWT是两种常用于Java图形用户界面开发的工具集,其中Swing是建立在AWT之上的一个更高级的图形用户界面工具包。在本项目中,Java Swing和AWT被用来开发一个拼图游戏,这是一个面向对象的编程实践,能够...
8. **AWT与Swing的对比**:虽然Swing后来成为更常用的GUI库,但理解AWT与Swing的关系和差异对开发者来说是重要的,包括Swing的轻量级特性以及它对AWT组件的扩展。 通过阅读Java 2图形设计卷1 AWT,开发者将能够熟练...
AWT,全称Abstract Window Toolkit...总结来说,虽然AWT在现代开发中可能不是首选,但它仍然是Java GUI编程的重要组成部分,理解和掌握AWT的基础知识对于进一步学习Swing或其他图形库,以及理解GUI编程原理都至关重要。
11. **AWT与Swing的关系**: Swing是建立在AWT之上的轻量级组件库,提供了更多现代外观和额外功能。尽管Swing是首选,但AWT仍然是理解和学习GUI编程的重要部分。 12. **线程处理**: GUI应用通常需要在Event Dispatch...