---------------------- android培训 、 java培训 、 期待与您交流! ------------------
1、上篇我们讨论了JAVA GUI 之AWT,这篇来讨论下Swing。在学习Swing之前,我们先来看下他们的不同:
AWT和Swing之间的基本区别:AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充其运行速度比较慢,。对于一个嵌入式应用来说,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT 当然成了嵌入式Java的第一选择。而在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素,所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。
通俗的说就是AWT 是抽象窗口组件工具包,是 java 最早的用于编写图形节目应用程序的开发包。Swing是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。
2、Swing的类层次结构:
Swing包的组成内容 | |
Com.sum.swing.plaf.motif | 实现Motif界面样式 |
Com.sum.java.swing.plaf.windows | 实现Windows界面样式 |
javax.swing | Swing组件和使用工具 |
javax.swing.border | Swing轻量组件的边框 |
javax.swing.colorchooser | JcolorChooser的支持类/接口 |
javax.swing.event | 事件和侦听器类 |
javax.swing.filechooser | JFileChooser的支持类/接口 |
javax.swing.plaf | 抽象类,定义UI代表的行为 |
javax.swing.plaf.basic | 实现所有标准界面样式公共基类 |
javax.swing.plaf.metal | 实现Metal界面样式代表类 |
javax.swing.table |