java awt和swing有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:03:39

跟本地系统的相关性。。JDK写程序 所有功能都是靠虚拟机去操作本地操作系统 比如window下。。就是JDK用windows API实现你功能

而awt包中很多组件是组件自身去调用本地操作系统代码
swing包中的组件 采用的是调用本地虚拟机方法,由虚拟机再调用本地操作系统代码。。
意思就是中间多了一层,这样就加强了swing包的移植性,与本地关系不那强了

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中就很方便。