「java自定义事件监听」JAVA监听事件

博主:adminadmin 2022-12-03 23:21:05 64

本篇文章给大家谈谈java自定义事件监听,以及JAVA监听事件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中的事件监听是怎么回事

不是通过线程实现的,它是通过一种注册--通知机制实现的。在java的设计模式中,有一种模式叫:观察者模式,和这个类似。举个例子,本例子是一个简单的监听当数据发生变化时要做的操作。 1,我们先定义一个接口,可以让多个监听者实现 public interface IDataListen {public void update(Object event,Object msg);}2,实现一监听者 public class DataListen implements IDataListen{ @Override public void update(Object event, Object arg) { // TODO Auto-generated method stub System.out.println("数据发生了变化"); }}3,被监听者 public class DataManager{ private ListIDataListen listenList = new ArrayList(); public void notifyListen(Object event,Object msg){ for(IDataListen dataListen : listenList){ dataListen.update(null, null); } } public void addListen(IDataListen dataListen){ listenList.add(dataListen); } public void updateData(Object msg){ this.notifyListen(null, msg); } public static void main(String[] args) { DataManager dataManager = new DataManager(); IDataListen dataListen1 = new DataListen(); ...

java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应?

线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。

java怎样监听一个值是否发生了变化,具体代码

java 自定义监听器监听属性变化

import java.util.EventObject;

public class MyEvent extends EventObject

{

private Object obj;

private String sName;

public MyEvent(Object source,String sName)

{

super(source);

this.obj=source;

this.sName=sName;

}

public Object getObj()

{

return obj;

}

public String getsName()

{

return sName;

}

}

import java.util.EventListener;

public interface MyEventListener extends EventListener

{

public void handleEvent (MyEvent me);

}

import java.util.Iterator;

import java.util.Vector;

import demo.DemoEvent;

public class MyEventSource

{

private Vector list=new Vector();

private String sName = "";

public MyEventSource()

{

super();

}

public void addMyEventListener(MyEventListener me)

{

list.add(me);

}

public void deleteMyEventListener(MyEventListener me)

{

list.remove(me);

}

public void notifyMyEvent(MyEvent me)

{

Iterator it=list.iterator();

while(it.hasNext())

{

((MyEventListener) it.next()).handleEvent(me);

}

}

public void setName(String str)

{

boolean bool = false;

if (str == null sName != null)

bool = true;

else if (str != null sName == null)

bool = true;

else if (!sName.equals(str))

bool = true;

this.sName = str;

// 如果改变则执行事件

if (bool)

notifyMyEvent(new MyEvent(this, sName));

}

public String getsName()

{

return sName;

}

}

public class Test implements MyEventListener

{

public Test()

{

MyEventSource mes = new MyEventSource();

mes.addMyEventListener(this);

mes.setName("niu");

}

public static void main(String args[])

{

new Test();

}

public void handleEvent(MyEvent me)

{

System.out.println(me.getSource());

System.out.println(me.getsName());

}

}

java自定义事件监听的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA监听事件、java自定义事件监听的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-03,除非注明,否则均为首码项目网原创文章,转载请注明出处。