// Java Event Example
import java.util.EventObject;
import java.util.Observable;
// 定义一个事件类,继承自 EventObject
class MyEvent extends EventObject {
private String message;
public MyEvent(Object source, String message) {
super(source);
this.message = message;
}
public String getMessage() {
return message;
}
}
// 定义一个事件源类,继承自 Observable
class MyEventSource extends Observable {
public void triggerEvent(String message) {
// 设置事件已更改
setChanged();
// 通知所有注册的监听器
notifyObservers(new MyEvent(this, message));
}
}
// 定义一个监听器接口
interface MyEventListener {
void onEvent(MyEvent event);
}
// 实现监听器接口
class MyEventListenerImpl implements MyEventListener {
@Override
public void onEvent(MyEvent event) {
System.out.println("Received event: " + event.getMessage());
}
}
// 测试事件机制
public class Main {
public static void main(String[] args) {
MyEventSource source = new MyEventSource();
// 注册监听器
source.addObserver((o, arg) -> {
if (arg instanceof MyEvent) {
MyEvent event = (MyEvent) arg;
new MyEventListenerImpl().onEvent(event);
}
});
// 触发事件
source.triggerEvent("Hello, World!");
}
}
EventObject
。它包含一个消息字段,并提供构造函数和获取消息的方法。Observable
。它负责触发事件,并通知所有注册的监听器。MyEventListener
接口的一个实现类,具体实现了事件处理逻辑。通过这种方式,可以实现简单的事件驱动编程模型。
上一篇:java hash算法
下一篇:java 浮点数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站