import java.util.*;
import java.awt.event.*;
public class EventModelTest {
public static void main(String[] args) {
// 开始测试事件
Demobean testbean = new Demobean();
testbean.addClickListener(new ClickListener() {
public void Click(ClickEvent e) {
System.out.println("A click event happended! click count:"
+ e.clickCount);
}
});
// 模拟一个事件(想像成在一个对象点了一下);
testbean.Click();
testbean.Click();
}
} // 事件对象,保存事件源和事件状态的信息。通常要继承EventObject,并以Event做后缀名。
class ClickEvent extends EventObject {
public Demobean source;
// 事件来源
public int clickCount; // 事件状态
public ClickEvent(Demobean source) { // 初始化对象
super(source);
this.source = source;
clickCount = 0;
}
};
// 事件监听器,通常继承自EventListener,并以Listener做后缀名。
interface ClickListener extends EventListener {
// 当事件发生时要执行的方法,可有多个。
void Click(ClickEvent event);
};
// 事件源,也就是要挷定事件的对象(可以是Swing组件哪JButton,也可以是自定义的类型)
class Demobean {
private Vector clicks = new Vector();
// 存储一或多个事件监听器
private ClickEvent event = new ClickEvent(this);
// 事件对象 //增加/订阅一个事件监听器
public synchronized void addClickListener(ClickListener listener) {
clicks.add(listener);
} // 移除/取消一个事件监听器
public synchronized void removeClickListener(ClickListener listener) {
clicks.remove(listener);
} // 处理事件程序,执行所有已经订阅的监听器中的click方法.
protected void doClickEvent() {
synchronized (this) {
System.out.println(clicks.size());
for (int i = 0; i < clicks.size(); i++) {
ClickListener listener = (ClickListener) clicks.get(i);
event.clickCount++;
listener.Click(event);
}
}
}
// 模拟一个事件(想像成在一个对象点了一下);
public void Click() {
doClickEvent();
}
}
分享到:
相关推荐
一个台湾网站找到的java事件方面的资料,感觉挺好,与大家分享!
Java 开发中事件驱动模型的实例详解,属于转的
事件驱动模型实例详解(Java篇)
java 内存模型 java 内存模型 java 内存模型 java 内存模型
java 事件 实例 java事件 事件学习 简单的java事件模型,有注释 java 事件 实例 java事件 事件学习 简单的java事件模型,有注释 java 事件 实例 java事件 事件学习 简单的java事件模型,有注释
新安江模型:三层蒸发模型、三水源划分产流
JAVA AWT事件模型教学实例.很好的,大家一起共享吧
Java教程之AWT事件模型
深入理解 java 内存模型是 java 程序员的必修课,看看原汁原味正宗的内存模型吧
事件处理模型(一看就懂) 2.鼠标事件处理 鼠标是一种最常见的输入方式。用户可以用鼠标绘制图形,利用鼠标实现特殊的控制,例如游戏操作的控制等功能。Java语言中主要提供了三种不同类型的鼠标事件: 鼠标键事件; ...
java内存模型文档
深入Java 内存模型本书介绍了,如何深入学习了解JAVA 内存模型!更好的了解java 虚拟机!
JAVA内存模型与垃圾回收 JAVA内存模型与垃圾回收 JAVA内存模型与垃圾回收
深入理解 Java 内存模型,由程晓明编著,深入理解java内存模型JMM
深度剖析java内存模型深度剖析java内存模型深度剖析java内存模型
java内存模型.pdf
Java内存模型详解,JVM结构..
java 锁 内存模型, 对于想了解cpu锁,内存模型的同学是很不错的资料
java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型;java线程-Java内存模型java线程-Java内存模型
java内存模型介绍java内存模型介绍java内存模型介绍java内存模型介绍java内存模型介绍