Skip to content

事件处理机制

Java的事件处理机制采用的是“委派事件模型”(即事件发生的地方和事件处理的地方位置时不一样的,是委派出去处理的),当事件发生时,产生事件的对象,会把此“信息”(这里的信息实际上就是java.awt.event事件类库里某个类所创建的对象,称之为事件的对象)传递给“事件的监听者”处理

image-20250425085152209

  • 事件源:事件源是一个产生事件的对象,比如按钮,窗口等

  • 事件:事件就是承载事件源状态改变时的对象,比如当键盘事件、鼠标事件、窗口事件等待,会生成一个事件对象,该对象保存着当前事件的很多信息,如KeyEvent对象有含有 被按下的Code值。java.awt.event包和javax.swing.event包中定义了各种事件类型

    常见的事件类型:

    事件类描述
    ActionEvent通常在按下按钮,或双击一个列表项或选中某个菜单时发生
    AdjustmentEvent当操作一个滚动条时发生
    ComponentEvent当一个组件隐藏,移动,改变大小时发生
    ContainerEvent当一个组件从容器中加入或者删除时发生
    FocusEvent当一个组件获得或失去焦点时发生
    ItemEvent当一个复选框或列表项被选中时,当一个选择框或选择菜单被选中
    KryEvent当从键盘按键被按下,松开时发生
    MouseEvent当鼠标被拖动,移动,点击,按下时发生
    TextEvent当文本区和文本域的文本发生改变时发生
    WindowEvent当一个窗口激活,关闭,失效,恢复,最小化时发生
  • 事件监听接口:

    1. 当事件源产生一个事件,可以传送给事件监听者处理
    2. 事件监听者实际上就是一个类,该类实现了某个事件监听器接口,如MyPanle就是一个类,它实现了KeyListener接口,可以作为一个事件监听者,对接受到的事件进行处理
    3. 事件监听器接口有多种,不同的事件监听器接口可以监听不同的事件,一个类可以实现多个监听接口
    4. 这些接口在java.awt.event包和javax.swing.event包中定义

Released under the MIT License.