java.jwt - 抽象窗口工具包 / GUI
java.awt 包简介
java.awt (Abstract Window Toolkit,抽象窗口工具包)是 Java 中用于构建图形用户界面 (GUI) 应用程序的核心包之一。它提供了一系列类和接口,用于处理用户界面组件、事件处理、图形绘制、布局管理和输入设备交互等任务。 java.awt 包含的组件包括按钮、标签、文本框、窗口、对话框等,并支持与底层操作系统的交互。
java.awt 包中的 Class 列表及分组
java.awt 包中的类可以根据其设计用途分为以下几类:组件类、事件处理类、布局管理器类、图形与颜色类、输入与输出类、其他辅助类等。
1. 组件类
这些类代表用户界面组件,用户通过这些组件与程序进行交互。
| Class | Explanation |
Button | 表示一个按钮,用于触发用户事件。 |
Canvas | 提供一个自定义绘制区域,用户可以在其上绘制图形。 |
Checkbox | 复选框组件,用户可以选择或取消选择该组件。 |
CheckboxGroup | 用于创建一组互斥的复选框(即单选按钮组)。 |
Choice | 下拉列表,允许用户从多个选项中进行选择。 |
Component | 是所有 AWT 组件类的超类。 |
Container | 是能够包含其他组件的组件,例如面板、窗口等。 |
Label | 显示文本的静态组件,用户不能编辑。 |
List | 列表框组件,显示多个可选择的选项。 |
Scrollbar | 用于垂直或水平滚动内容的滚动条组件。 |
TextComponent | 文本输入组件的超类。 |
TextField | 单行文本输入组件。 |
TextArea | 多行文本输入组件。 |
Window | 表示一个窗口,用于显示图形用户界面。 |
Frame | 是一个顶层窗口,带有边框、标题栏和关闭按钮。 |
Panel | 一个通用的容器组件,用于将组件分组。 |
Dialog | 对话框窗口,通常用于显示短时间的消息或与用户进行交互。 |
Menu | 菜单项的容器,用于实现菜单栏中的下拉菜单。 |
MenuBar | 是用于容纳多个菜单项的组件,通常显示在窗口顶部。 |
MenuItem | 菜单中的单个条目。 |
PopupMenu | 弹出式菜单,用于右键单击时显示上下文相关的操作。 |
FileDialog | 显示一个用于选择文件的对话框窗口。 |
2. 事件处理类
这些类与 AWT 事件模型相关,用于处理用户交互,如鼠标点击、键盘输入等。
| Class | Explanation |
AWTEvent | AWT 事件的超类,表示所有事件对象的基类。 |
ActionEvent | 表示用户的动作事件,如按钮点击或菜单项选择。 |
AdjustmentEvent | 表示调整事件,如滚动条的滚动。 |
FocusEvent | 焦点事件,表示组件获得或失去焦点。 |
InputEvent | 所有用户输入事件(键盘和鼠标)的基类。 |
KeyEvent | 键盘事件,表示键盘上的按键按下或释放。 |
MouseEvent | 鼠标事件,表示鼠标点击、移动、拖动等操作。 |
WindowEvent | 窗口事件,表示窗口的状态变化,如关闭、最小化、激活等。 |
EventQueue | AWT 事件队列,管理和调度事件的队列。负责将事件从事件源传递到事件处理程序,确保线程安全。 |
java.awt.EventQueue - AWT 事件队列
3. 布局管理器类
这些类控制组件在容器中的布局和排列方式。
| Class | Explanation |
BorderLayout | 容器的组件按东、南、西、北、中区域布局。 |
FlowLayout | 按顺序排列组件,默认从左到右排列。 |
GridBagLayout | 更复杂的网格布局,允许组件跨越多行或多列。 |
GridLayout | 容器内的组件按规则的网格布局排列。 |
CardLayout | 容器的组件以卡片形式切换,只显示一个组件。 |
4. 图形与颜色类
这些类处理图形绘制、颜色处理和其他相关操作。
| Class | Explanation |
Graphics | 提供基本的绘制操作,如绘制线条、矩形、图像等。 |
Color | 表示颜色,支持 RGB 和 alpha 通道。 |
Font | 表示用于文本绘制的字体。 |
FontMetrics | 提供与字体和字符测量相关的操作。 |
Image | 表示用于在屏幕上显示的图像。 |
Toolkit | 提供与本地系统资源交互的工具,如图像加载、剪贴板等。 |
5. 输入与输出类
这些类处理输入设备(如键盘、鼠标)的操作和系统剪贴板的使用。
| Class | Explanation |
Clipboard | 表示系统剪贴板,允许程序与剪贴板进行交互。 |
ClipboardOwner | 指示类实现剪贴板所有权接口。 |
KeyboardFocusManager | 处理键盘焦点的管理,控制当前焦点的组件。 |
MouseInfo | 提供有关鼠标设备的信息,如鼠标位置。 |
6. 其他辅助类
这些类用于提供额外的支持功能,如矩形、维度、点等几何结构的处理。
| Class | Explanation |
Dimension | 表示宽度和高度的尺寸类。 |
Point | 表示平面上的 x 和 y 坐标。 |
Rectangle | 表示矩形的几何形状。 |
Insets | 表示容器边距,即容器与其内容之间的空白区域。 |
Cursor | 表示鼠标光标的图形和行为。 |
Robot | 允许程序生成本地系统输入事件,如鼠标和键盘事件。 |
总结
java.awt 包提供了丰富的 GUI 组件、事件处理机制、布局管理器和图形绘制支持,能够满足图形用户界面的基本需求。通过这些类和接口,Java 程序员可以创建跨平台的桌面应用程序,并控制用户界面组件的布局和行为。
