标签:
杂谈 |
AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
从版本上看,awt出现在JDK1.0及以后版本。swing出现在JDK2.0及以后版本。从功能上看,虽然都是设计GUI的类库,但是swing的功能更加强大。例如,设计一个按钮,这个按钮上显示一幅图片,在awt中就很费事,但是在swing中就很方便。
主要区别就是跟本地系统的相关性。JDK写程序 所有功能都是靠虚拟机去操作本地操作系统。awt包中很多组件是组件自身去调用本地操作系统代码。由于不同操作系统之间存在差异,所以使得AWT界面库之间也会存在差异。swing包中的组件采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。。意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了。这里面不得不提的是MVC的设计模式,即Model/View/Controller的设计模式。他可以使得GUI界面的开发非常灵活。有时候也会把VC合并为用户界面UI。