AWT(Abstract Window Toolkit)介绍
AWT(抽象窗口工具包)是 Java 最早的图形用户界面(GUI)框架之一,主要用于构建桌面应用程序的图形界面。最初在 JDK 1.0 版本中作为 Java GUI 的核心库引入,旨在提供一个跨平台的图形用户界面工具包。
AWT 的最大特点是 平台依赖性,即它依赖于底层操作系统的窗口系统来创建和渲染界面组件。由于这一点,AWT 的组件在不同操作系统上可能表现出不同的外观和行为。
尽管后续出现了基于纯 Java 实现的 Swing,AWT 仍然是 Java 图形界面编程的重要部分,尤其是在较老的 Java 应用程序中。
AWT 主要特性
- 基于操作系统的原生组件:AWT 中的组件是 重量级组件(heavyweight components),即它们直接依赖于底层操作系统的窗口系统(如 Windows 或 X11)。这导致 AWT 的外观和行为通常会随平台的不同而有所不同。
- 事件驱动模型:AWT 使用事件驱动编程模型来响应用户的输入。开发者通过事件监听器处理鼠标、键盘等输入事件。这一机制使得 AWT 能够提供交互式的界面。
- 跨平台:AWT 提供了跨平台的图形界面组件,但由于它依赖于底层操作系统的窗口组件,所以它的表现和外观会受到操作系统的影响。
- 简单的布局管理器:AWT 提供了多种布局管理器(如
FlowLayout、BorderLayout和GridLayout),用于帮助开发者控制组件在容器中的布局。 - 低级图形支持:AWT 提供了对基本图形(如线条、矩形、圆形、文本)的支持,开发者可以在窗口中绘制简单的图形。
AWT 继承体系
AWT 的继承体系可以从几个核心类开始理解,主要的类包括 Component、Container、Window 等,这些类通过继承关系形成了 AWT 组件的层次结构。
AWT 继承体系结构图
Object | java.awt.Component / | \ java.awt.Container java.awt.Window | java.awt.Frame | java.awt.Panel
1. Object
- 所有 Java 类的祖先类。
2. java.awt.Component
Component是 AWT 类库中所有图形组件的基类,几乎所有的图形组件(如按钮、文本框、标签等)都直接或间接地继承自Component类。Component类提供了处理图形组件的位置、大小、绘制、事件等功能。
关键方法:
setSize(int width, int height):设置组件的大小。setLocation(int x, int y):设置组件的位置。paint(Graphics g):重绘组件的方法,通常用于自定义组件的外观。


