Java 中的事件类型

17 Mar 2025 | 4 分钟阅读

事件是 Java 中最重要的概念之一。通过执行操作而引起对象状态或行为的变化,在 Java 中称为事件。操作包括按钮点击、按键、页面滚动或光标移动。

Java 提供了一个名为 java.awt.event 的包,其中包含多个事件类。

我们可以将事件分为以下两类

  1. 前台事件
  2. 后台事件
Types of events in Java

前台事件

前台事件是指需要用户交互才能生成的事件。为了生成这些前台事件,用户会与 GUI 中的组件进行交互。当用户单击按钮、移动光标以及滚动滚动条时,会触发一个事件。

后台事件

后台事件不需要任何用户交互。这些事件会在后台自动生成。操作系统故障、操作系统中断、操作完成等都是后台事件的例子。

委派事件模型

控制事件并决定事件发生后应发生什么的机制称为事件处理。Java 在处理事件时遵循委派事件模型

委派事件模型监听器组成。

按钮、复选框、列表、菜单项、选择框、滚动条等都是事件生成的源。

监听器

从源生成的事件由监听器处理。每个监听器都代表负责处理事件的接口。

要了解更多关于委派事件模型的信息,请访问以下链接

delegation-event-model-in-java

我们需要将源注册到监听器以处理事件。不同类型的类提供不同的注册方法。

将源注册到监听器的语法如下:

例如,如果我们想注册键盘操作事件,我们将使用 addActionListener()addKeyListener() 方法。

以下是一些最常用的事件类

序号事件类监听器接口方法描述
1.ActionEventActionListeneractionPerformed()ActionEvent 表示发生了组件定义的动作。
2.AdjustmentEventAdjustmentListeneradjustmentValueChanged()Adjustment 事件由可调整对象(如滚动条)引起。
3.ComponentEventComponentListenercomponentResized(), componentMoved(), componentShown() 和 componentHidden()当组件移动、更改可见性或大小更改时会发生事件。
4.ContainerEventContainerListenercomponentRemoved() 和 componentAdded()当组件被添加到容器或从容器中移除时,会触发该事件。
5.FocusEventFocusListenerfocusLost() 和 focusGained()Focus 事件包括 focus、focusout、focusin 和 blur。
6.ItemEventItemListeneritemStateChanged()当选中一个项目时,会发生 Item 事件。
7.KeyEventKeyListenerkeyPressed(), keyReleased() 和 keyTyped().当用户在键盘上按下键时,会发生键盘事件。
8.MouseEventMouseListener 和 MouseMotionListenermouseClicked(), mousePressed(), mouseEntered(), mouseExited() 和 mouseReleased() 是 mouseListener 方法。mouseDregged() 和 mouseMoved() 是 MouseMotionListener() 方法。当用户与鼠标进行交互时,会发生鼠标事件。
9.MouseWheelEventMouseWheelListenermouseWheelMoved().当鼠标滚轮在组件中旋转时,会发生 MouseWheelEvent。
10.TextEventTextListenertextChanged()当对象的文本更改时,会发生 TextEvent。
11.WindowEventWindowListenerwindowActivated(), windowDeactivated(), windowOpened(), windowClosed(), windowClosing(), windowIconfied() 和 windowDeiconified().当窗口状态更改时,会发生窗口事件。

让我们举一个例子来理解如何处理事件和监听器

EventHandlingExample1.java

输出

Types of events in Java