Swing组件中的事件处理专门用于响应用户的操作,例如,响应用户的单击鼠标、按下键盘等操作。在Swing事件处理的过程中,主要涉及到三类对象:
● 事件源(Event Source):事件发生的场所,通常就是产生事件的组件,例如窗口、按钮、菜单等。
● 事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次操作)。
● 监听器(Listener):负责监听事件源上发生的事件,并对各种事件做出相应处理的对象(对象中包含事件处理器)。
上面提到的事件源、事件对象、监听器在整个事件处理过程中都起着非常重要的作用,它们彼此之间有着非常紧密的联系。接下来用一个图例来描述事件处理的工作流程,如图所示。
事件源是一个组件,当用户进行一些操作时,如按下鼠标或者释放键盘等,都会触发相应的事件,如果事件源注册了监听器,则触发的相应事件将会被处理。
接下来,通过一个案例来演示Swing中的事件处理,如文件1所示。
文件1 Example06.java
import java.awt.event.*;
import javax.swing.*;
// 自定义事件监听器类
class MyListener