1、Swing历史
AWT是Swing的基础。
原来的AWT不能满足发展的需求,AWT的下层构件还有严重的缺陷(基于对等组件的体系结构),另外对等组件的设计也有严重的缺点,对等组件都是在本地窗口中 绘制的,所有不能得到高性能。AWT有很高的错误率,第三方开始提供他们自己的工具包。Netscape的Internet基础类(IFC)是一组建立在NEXTSTEP中的用户界面工具包概念基础上的一组轻量类。
JavaSoft和Netscape达成了共识,一起合作开发了Swing。
2、轻量组件与重量组件
AWT最初只包括与本地对等组件相关联的重量组件,这些组件在它们自己的本地不透明窗口中绘制。
相反,轻量组件没有本地对等组件,而且在它们的重量容器的窗口中绘制。
由于轻量组件不在本地不透明的窗口中绘制,因此,它们可以有透明的背景。透明的背景使显示的轻量组件可以是非矩形的,虽然所有组件(重量的或轻量的)都有一个矩形边框。
3、Swing组件
Swing包含250多个类,是组件和支持类的集合。Swing提供了40多个组件,是AWT组件的四倍。除提供替代AWT重量组件的轻量组件外,Swing还提供了大量有助于开发图形用户界面的附加组件。
4、AWT的替代组件
按钮、复选框、标签、滚动条、组合框,文本域、列表,菜单
5、增加的组件
表格、树、定制对话框
6、J组件
为了把UI组件和支持类区分开,Swing组件用J开头。
7、插入式界面样式
Swing支持插入式界面样式,界面样式的基础是“模型-视图-控制器”体系结构的变体。
8、Swing与AWT
对Swing最普遍的错误概念是认为其设计目的是用来替代AWT的。事实上,Swing建立在AWT之上。