Skip to content

java.jwt - 抽象窗口工具包 / GUI

java.awt 包简介

java.awt (Abstract Window Toolkit,抽象窗口工具包)是 Java 中用于构建图形用户界面 (GUI) 应用程序的核心包之一。它提供了一系列类和接口,用于处理用户界面组件、事件处理、图形绘制、布局管理和输入设备交互等任务。 java.awt 包含的组件包括按钮、标签、文本框、窗口、对话框等,并支持与底层操作系统的交互。

java.awt 包中的 Class 列表及分组

java.awt 包中的类可以根据其设计用途分为以下几类:组件类、事件处理类、布局管理器类、图形与颜色类、输入与输出类、其他辅助类等。

1. 组件类

这些类代表用户界面组件,用户通过这些组件与程序进行交互。

ClassExplanation
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 事件模型相关,用于处理用户交互,如鼠标点击、键盘输入等。

ClassExplanation
AWTEventAWT 事件的超类,表示所有事件对象的基类。
ActionEvent表示用户的动作事件,如按钮点击或菜单项选择。
AdjustmentEvent表示调整事件,如滚动条的滚动。
FocusEvent焦点事件,表示组件获得或失去焦点。
InputEvent所有用户输入事件(键盘和鼠标)的基类。
KeyEvent键盘事件,表示键盘上的按键按下或释放。
MouseEvent鼠标事件,表示鼠标点击、移动、拖动等操作。
WindowEvent窗口事件,表示窗口的状态变化,如关闭、最小化、激活等。
EventQueueAWT 事件队列,管理和调度事件的队列。负责将事件从事件源传递到事件处理程序,确保线程安全。

java.awt.EventQueue - AWT 事件队列

java.awt.ActionEvent 方法

3. 布局管理器类

这些类控制组件在容器中的布局和排列方式。

ClassExplanation
BorderLayout容器的组件按东、南、西、北、中区域布局。
FlowLayout按顺序排列组件,默认从左到右排列。
GridBagLayout更复杂的网格布局,允许组件跨越多行或多列。
GridLayout容器内的组件按规则的网格布局排列。
CardLayout容器的组件以卡片形式切换,只显示一个组件。

4. 图形与颜色类

这些类处理图形绘制、颜色处理和其他相关操作。

ClassExplanation
Graphics提供基本的绘制操作,如绘制线条、矩形、图像等。
Color表示颜色,支持 RGB 和 alpha 通道。
Font表示用于文本绘制的字体。
FontMetrics提供与字体和字符测量相关的操作。
Image表示用于在屏幕上显示的图像。
Toolkit提供与本地系统资源交互的工具,如图像加载、剪贴板等。

5. 输入与输出类

这些类处理输入设备(如键盘、鼠标)的操作和系统剪贴板的使用。

ClassExplanation
Clipboard表示系统剪贴板,允许程序与剪贴板进行交互。
ClipboardOwner指示类实现剪贴板所有权接口。
KeyboardFocusManager处理键盘焦点的管理,控制当前焦点的组件。
MouseInfo提供有关鼠标设备的信息,如鼠标位置。

6. 其他辅助类

这些类用于提供额外的支持功能,如矩形、维度、点等几何结构的处理。

ClassExplanation
Dimension表示宽度和高度的尺寸类。
Point表示平面上的 x 和 y 坐标。
Rectangle表示矩形的几何形状。
Insets表示容器边距,即容器与其内容之间的空白区域。
Cursor表示鼠标光标的图形和行为。
Robot允许程序生成本地系统输入事件,如鼠标和键盘事件。

总结

java.awt 包提供了丰富的 GUI 组件、事件处理机制、布局管理器和图形绘制支持,能够满足图形用户界面的基本需求。通过这些类和接口,Java 程序员可以创建跨平台的桌面应用程序,并控制用户界面组件的布局和行为。