1 Swing
1.1
简单描述:
AWT是抽象窗口工具包,是Java最早的用于编写图形用户界面应用程序的开发包;
Swing时为了解决AWT存在的问题而新开发的包,它以AWT为基础,为AWT进行改良和扩展,是Java基础类库(JFC)的一部分。
详细描述:
AWT时抽象窗口工具包(abstrcat Windows TooloKit)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口。AWT中的图形方法与操作系统所提供的图形方法之间有一一对应关系。也就是说,当我们利用AWT来构建图形用户界面时,我们实际上是在利用操作系统所提供的图形库。由于不同操作系统的图形库所提供的功能不一样,在一个平台上存在的功能在另一个平台上可能不存在。为了实现Java语言所宣传的“一次编译,到处运行”的概念,AWT不得不通过牺牲功能来实现其平台无关性,也就是说AWT所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT是依靠本地方法来实现其功能,我们通常把AWT控件称为重量级控件。
Swing是在AWT的基础上构建的一套新的图形用户界面系统,它提供了AWT所能够提供的所有功能,并且用纯粹的Java代码对AWT的功能进行了大幅度的扩充。由于在swing中没有使用操作系统本地方法来实现图形功能,我们通常把Swing控件称为轻量级控件。
1.2 Swing与AWT的区别是什么?
//重点
1)AWT是基于本地方法的C/C++程序,其运行速度快;Swing是基于AWT的Java程序,其运行速度慢;
2)AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。
1.3 Swing和AWT选择
在实际应用开发中,应该使用AWT还是Swing取决于应用程序所部属的平台类型。
1)对于一个嵌入式应用开发,目标平台的硬件资源非常有限,而应用程序的运行速度又是项目中至关重要的因素,简单而高效的AWT