感觉这段代码没什么意义,但还是放上面,方便以后查找吧。
import java.util.Vector;
public class A {
private Vector aListeners = new Vector();
private int value;
public int getValue() {
return value;
}
public void setValue(int newValue) {
if (value != newValue) {
value = newValue;
AEvent evt = new AEvent(this, value);
// 如果值改变的话,就触发事件
fireAEvent(evt);
}
}
public synchronized void addAListener(AListener a) {
aListeners.addElement(a);
}
public synchronized void removeAListener(AListener a) {
aListeners.removeElement(a);
}
public void fireAEvent(AEvent evt) {
Vector currentListeners = null;
synchronized (this) {
currentListeners = (Vector) aListeners.clone();
}
for (int i = 0; i < currentListeners.size(); i++) {
AListener listener = (AListener) currentListeners.elementAt(i);
listener.performed(evt);
}
}
}
// 定义接口,当事件触发时调用
public interface AListener extends java.util.EventListener {
public abstract void performed(AEvent e);
}
import java.util.EventObject;
// 定义事件
public class AEvent extends EventObject {
private int value;
public AEvent(Object source) {
super(source);
}
public AEvent(Object source, int newValue) {
super(source);
value = newValue;
}
}
class B {
public B() {
A a = new A();
a.addAListener(new AListener() {
public void performed(AEvent e) {
System.out.println("a.监听1");
}
});
a.addAListener(new AListener() {
public void performed(AEvent e) {
System.out.println("a.监听2");
}
});
a.addAListener(new AListener() {
public void performed(AEvent e) {
System.out.println("a.监听3");
}
});
a.setValue(1);
a.setValue(2);
}
public static void main(String[] args) {
B b = new B();
}
}
分享到:
相关推荐
主要给大家介绍了关于java监听器实现和原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Java监听键盘鼠标全局事件[定义].pdf
java监听器练习,java初学者!
一个java监听器的实现demo,即观察者设计模式实现
Java监听器添加 四种监听器 内部 外部 内部匿名 自身
监听器之定时器,写一个定时器的监听器,这个监听器每十秒向控制台输出一次时间信息 博客地址:https://blog.csdn.net/qq_36631076/article/details/80401609
简单的java监听器小练习,适合初学者!
java开发的监听键盘事件,获取并显示键盘事件
最近一直在搞低耦合的代码设计,后来发现JAVA中的监听器效果很不错,就特地研究了一下监听流程,后来经过调试终于成功,供大家分享下: 响应代码: /** * 事件响应运行 * @author wangchen * */ class EventRun {...
JAVA监听机制实现一个小球的运动
java技术对数据库语句的监听你猜对了万能充
Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听
1.JAVA 监听文件夹变化 2.模拟POST提交文件流同步服务器文件
代码用java实现,监听斗鱼直播间的所有弹幕信息,进行输出打印,修改直播房间ID就可以进行使用了
java监听器和过滤器详解,详细而且简单,保证能看懂
Java事件监听器即一组动作接口。如键盘事件KeyEvent对应的接口是: public interface KeyListener extends EventListener { public void keyPressed(KeyEvent ev); public void keyReleased(KeyEvent ev); public ...
java一个监听器的例子
java监听Tomcat是否宕机 可以重启
主要介绍了Java设计模式之监听器模式,结合实例形式较为详细的分析了java设计模式中监听器模式的概念、原理及相关实现与使用技巧,需要的朋友可以参考下
NULL 博文链接:https://xace.iteye.com/blog/424250