概述
awt是抽象组件窗口工具包,是Java最早的用于编写图形应用程序的开发包。
Swing是为了补充awt的一些功能性的缺失问题而开发的包,以awt为基础的。
软件包 java.awt 的描述
包含用于创建用户界面和绘制图形图像的所有类。在 AWT 术语中,诸如按钮或滚动条之类的用户界面对象称为组件。Component 类是所有 AWT 组件的根。有关所有 AWT 组件的公共属性的详细描述,请参见 Component。
当用户与组件交互时,一些组件会激发事件。AWTEvent 类及其子类用于表示 AWT 组件能够激发的事件。有关 AWT 事件模型的描述,请参见 AWTEvent。
容器是一个可以包含组件和其他容器的组件。容器还可以具有布局管理器,用来控制容器中组件的可视化布局。AWT 包带有几个布局管理器类和一个接口,此接口可用于构建自己的布局管理器。
由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。
软件包 javax.swing
提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。
总结
由于实现的不同,awt是机遇本地方法的C/C++程序,运行速度比较快,消耗资源少;Swing是基于awt的Java程序,所以运行速度慢。对于嵌入式应用,往往采用AWT;通常在标准的Java应用中,使用Swing牺牲运行速度换取开发效率和功能。
鄙人学疏才浅,如有不妥或错误之处,望赐正。
2017-09-11