你是只想知道LISTENER还是整个事件机制?

解决方案 »

  1.   

    我还以为是医生的诊听器结构呢。
    java的事件机制很好啊。等你以后就会知道了。
    所有监听器接口都必须从EventListener接口继承。
    所有事件对象类都必须从EventObject继承。
    一种监听器对应他相应的事件。
    比如让按钮监听鼠标事件。
    Button b;
    public class ButtonListener implements MouseListener
    {
    //实现接口定义的方法。
    //比如让鼠标单击时打印他的位置。
    public void MouseClicked(MouseEvent e)
    {
       System.out.pritn(e.getX(),e.getY())
    }
      

    b.addMousListenrer(new ButtonListener());
    使用系统定义的事件监听就是这么简单。
    如果你要实现自己的事件监听还要作另外是工作。
      

  2.   

    to letmeto (冰玉) :
    事件监听机制的简单抽象就是:(当符合事件发生的条件时)事件源(sender)产生一个事件(event),并将该事件(event)发送给事件接受者(receiver),然后接受者(receiver)根据事件内容采取相应动作(就是listener中实现的方法)。先来看event对象
    event扩展了java.awt.AwtEvent,(新建事件时,构造函数需要sender对象和一个唯一的事件序列号作为参数,当然也可以记录一些其他的信息),让receiver通过evt.getXXX的方式获得event中记录的信息.再来看receiver对象(其实就是listener接口)
    receiver对象是实现了listener接口的类,listener接口中的方法就是当事件发生时可能触发的方法。因此receiver必须实现他们,以在事件发生时做出相应的响应。最后是sender对象
    sender需要扩展component类,需要实现addXXXlistener,removeXXXListener等管理监听器的方法。当事件产生时,它会生成一个event对象,并将他们加入到系统的event队列。对于sender而言,重要的是在它的内部有一个存放listener接口的arraylist,而其中的存放的对象就是通过addXXXlistener加入的那些receiver对象(以接口形式)。当event对象满足某些条件后,sender对象便调用listener的相应方法,于是receiver对象就做出了响应。基本上这就是事件机制的最基础的构架。因为没有图和代码,所以无法表述得很清楚。整个JAVA事件机制还有许多重要的细节,你可以多看看书和源码,自然会明白。
      

  3.   

    看看著名的《设计模式》:这就是著名的observer模式……