当前位置:  技术问答>java相关

怎样自定义事件?

    来源: 互联网  发布时间:2015-01-06

    本文导语:  要注意哪些? | /////你首先作三件事: ////1) Create an event object ////2) Create and maintain a listener list in an event source ////3) Create event listeners public class MyEvent extends java.util.EventObject { pri...

要注意哪些?

|
/////你首先作三件事:
////1) Create an event object
////2) Create and maintain a listener list in an event source
////3) Create event listeners

public class MyEvent extends java.util.EventObject {
private String action;

public MyEvent(Object source, String action) {
super(source);
this.action = action;
}

public String getAction() {
return action;
}

}

////创建object列表,知道单前事件在做什么,事件监听器的工作有:
1) add listeners
2) remove listeners
3) notifiy listeners

import java.util.*;

public class MyEventListenerList {
Vector list = new Vector();

public void addMyEventListener(MyEventListener l) {
//add the listner to the list
list.add(l);
}

public void removeMyEventListener(MyEventListener l) {
//remove the listener from the list
list.remove(l);
}

public void notifyMyEventListeners(MyEvent event) {
// iterate through each listener and call the
//handleMyEvent method for the listener
ListIterator i = list.listIterator();
while(i.hasNext()) {
MyEventListener l = (MyEventListener) i.next();
l.handleMyEvent(event);
}
}
}

////为监听器创建接口
public interface MyEventListener extends java.util.EventListener
{
public void handleMyEvent(MyEvent event);
}


/////在你的对象中创建事件监听器
public class TheListener implements MyEventListener {
public void handleMyEvent(MyEventObject event) {
System.out.println(event.getAction());
}
}

////创建监听对象
public class TheSource {
//Here's our list of MyEventObject listners
MyEventListenerList list = new MyEventListenerList();

public TheSource() {
//create a couple of listeners and add them to the list
TheListener theListener1 = new TheListener();
TheListener theListener2 = new TheListener();
list.addMyEventListener(theListener1);
list.addMyEventListener(theListener2);
list.notifyMyEventListeners(new MyEvent(this, "first"));

// remove one listener and send another event
list.removeMyEventListener(theListener2);
list.notifyMyEventListeners(new MyEvent(this, "second"));
}
public static void main(String args[]){
 new TheSource();
}
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类radialgradientpaint的类成员方法: getradius定义及介绍
  • 请问可以用宏定义定义一个二维数组吗?
  • java命名空间javax.xml.stream类xmlinputfactory成员方法: seteventallocator定义参考
  • 鼠标经过表格时,表格的记录颜色变化,如何每条记录定义onclick事件? iis7站长之家
  • java命名空间java.text接口attributedcharacteriterator的类成员方法: getallattributekeys定义及介绍
  • php定义数组和使用示例(php数组的定义方法)
  • java命名空间java.beans接口propertyeditor的类成员方法: supportscustomeditor定义及介绍
  • 上次问题解决了,原来是extern被重定义了。。。天阿,关键字也可以被重定义。。。。。欢迎接分
  • java命名空间javax.swing类jtextarea的类成员方法: getcolumnwidth定义及介绍
  • 如何定义一个可变参数的自定义函数
  • java命名空间javax.swing类jtextfield的类成员方法: getcolumnwidth定义及介绍
  • 下面的变量我都下了定义,为什么还出现没定义的信息
  • java命名空间javax.swing类actionmap的类成员方法: allkeys定义及介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • java命名空间javax.swing类inputmap的类成员方法: allkeys定义及介绍
  • 为什么我在头文件time.h里找不到time_t的定义呢?只有这个定义typedef __time_t time_t;
  • java命名空间javax.rmi.corba接口valuehandler的类成员方法: iscustommarshaled定义及介绍
  • 函数有定义怎么提示没有低能定义的错误呢?
  • java命名空间javax.swing类jcomponent的类成员方法: resetkeyboardactions定义及介绍
  • android自定义控件和自定义回调函数步骤示例
  • java命名空间java.beans接口customizer的类成员方法: setobject定义及介绍
  • 自定义公共类的装载,包的定义


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3