一.概念认知
二.代码示例
package com.awt; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /* * 事件模型 */ public class TestActionEvent { public static void main(String[] args) { Frame f = new Frame("0202陪考党"); Button b = new Button("press Me!"); ②Monitor bh = new Monitor(); //添加指定的动作侦听器以从此按钮接收动作事件。 ①b.addActionListener(bh); f.setLocation(300,300); f.add(b,BorderLayout.CENTER); f.pack(); f.setVisible(true); } } /* * public interface ActionListener extends EventListener * 用于接收动作事件的侦听器界面。 */ ③class Monitor implements ActionListener{//实现接口 @Override /* * actionPerformed(non-Javadoc) * void actionPerformed(ActionEvent e)发生动作时调用。 */ public void actionPerformed(ActionEvent e) { System.out.println("a button has been pressed"); } }
程序分析:结合上图来看,在①处b按钮事件源对象上调用
addActionListener()方法传进了bn对象,即动作监听器
②处类名是Monitor,其实类名是什么不重要,重要的是在③处实现了ActionEvent接口;
那么当按钮点击了后,在监听器bn中传送了某种事件对象,事件对象中封装了事件的具体信息(这里是点击信息),Monitor侦听界面接收到了点击动作事件之后,调用ActionPerformed方法,执行某种处理(打印处理)
有点抽象,结合图和我的注释理解