Java面试中需要了解的AWT和Swing

AWT和Swing是什么

AWT和Swing都是Java提供的GUI(Graphics User Interface图形用户界面包)工具包。通过AWT和Swing提供的图形界面组件库,Java的图形用户界面编程非常简单,程序只要一次搭建所需的图形组件,并用合适的方式将这些组件组织在一起,就可以开发出非常美观的用户界面。

具体概念

AWT(Abstract Window Toolkit)抽象窗口工具集,是Sun最早提供的GUI库,但是这个库只提供了一些基本的功能,所以后来又提供了Swing库。

Swing是建立在AWT的基础上,Swing仅提供了更为强大的用户界面组件,即使完全使用Swing编写GUI程序,需要使用AWT的事件处理机制

区别

  • 独立于本地平台的Swing是一种轻量级的组件,采用100%的Java实现,不再依赖本地平台的图形界面,所以可以在所有平台上保持相同的运行效果,对跨平台的支持比较出色。而重量级组件AWT需要调用底层平台的GUI实现,所以AWT只能使用各种平台上GUI组件的交集,这大大限制了AWT所支持的GUI组件
  • Swing组件完全采用Java实现,不调本地平台的GUI,所以导致Swing图形界面的显示速度比AWT显示速度慢一些,但是相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍。
  • Swing组件不再依赖本地平台GUI,因此不会产生与平台相关的bug

参考:疯狂Java讲义

你可能感兴趣的:(Java学习笔记)