在一个类Class1中写一个事件event1,
当Class1中的某个值变化时,就触发event1,
然后写另外一个类Class2,监听Class1中的event1事件,
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);
}
//定义事件
public class AEvent extends EventObject{
private int value;
public AEvent(Object source){
this(source,null);
}
public AEvent(Object source,int newValue){
super(source);
value = newValue;
}
}
class B{
public B(){
A a = new A();
a.addAListener(new AListener(){
public performed(AEvent e){
//要处理的
}
});
}
}
相关推荐
Java事件驱动程序设计是Java编程中的一个重要概念,它主要用于构建响应用户操作或系统事件的应用程序。在这种模式下,程序并不主动去查询某个状态变化,而是等待事件的发生,并通过事件处理器来响应这些事件。这种...
事件驱动模型是现代软件开发中一种关键的编程模式,尤其在图形用户界面(GUI)编程中占据核心地位。该模型围绕三个核心概念构建:事件源、侦听器以及事件处理程序。事件源可以是任何能产生事件的对象,例如用户界面...
在Java开发领域,事件驱动模型(Event-Driven Model)是一种广泛采用的设计模式,它通过响应外部事件来触发程序中的特定行为。本文将深入探讨Java中事件驱动模型的应用,特别是通过Swing框架的具体实例来解析这一...
技术: 1. spring事件驱动(ApplicationEventPublisher) 2. 策略模式处理事件 目的: 1. 通过event,代码逻辑异步处理 2. 通过策略模式,构建具体监听实现 3. 解耦 4. 容错(降低代码块错误风险)
在编程领域,事件驱动风格和观察者模式是两种常见的设计模式,它们在Java开发中有着广泛的应用。这两种模式主要用于处理异步数据处理和组件之间的通信,使得程序更加灵活且易于维护。 事件驱动风格是一种编程范式,...
Java事件驱动程序设计是Java编程中的一个重要概念,它主要用于构建响应用户交互或系统状态变化的动态应用程序。在Java中,事件驱动模型允许程序对特定事件的发生做出反应,比如鼠标点击、键盘输入、窗口改变等。这种...
事件模式在Java中通常分为两类:直接驱动模式和监控式事件模式。 1. **事件直接驱动模式** 在这种模式下,事件发生时会直接启动相应的事件处理器。Command模式是直接驱动事件模式的核心,它将命令封装为对象,使得...
神通数据库的Java驱动是实现这一接口的第三方驱动程序,使得Java程序能够与神通数据库进行通信,执行SQL语句,进行数据的读取、写入和更新等操作。 要使用神通数据库的Java连接驱动,开发者首先需要在项目中引入...
然而,在特定情况下,使用POI的事件驱动模式可能会遇到读取问题,特别是当处理由Java代码直接创建而未经软件如Microsoft Excel或WPS Excel保存的Excel文件时。 问题的核心在于两个方面: 1. 动态获取rId:在Excel...
该工具类是poi基于事件驱动去读取海量excel数据,解决内存溢出以及空单元格的问题。 该压缩包里面有两个文件,TestExcel.java主要是原始的处理方法,操作简单,适合小数据量的读取。 ExampleEventUserModelUtil.java...
【TestNg_0920】是一个练习项目,主要涵盖了Selenium与Java的结合使用,以及数据驱动模式、页面对象模式和行为驱动开发(BDD)等关键概念。以下是这些知识点的详细说明: 1. **Selenium**:Selenium 是一个广泛使用...
Oracle JDBC驱动分为 Thin 和 Thick 两种模式, Thin 驱动是纯Java实现,不需要Oracle客户端,而Thick驱动需要Oracle客户端软件。 MySQL数据库的驱动通常为`mysql-connector-java.jar`,这个驱动包包含了连接到...
给定的压缩包文件涉及的是物联网领域的云端组件开发,采用JAVA语言和事件驱动模式来实现设备间的通信连接。这不仅涉及到软件开发的编码实践,还包括了架构设计、系统集成以及网络通信协议等多个技术层面。在物联网的...
事件驱动架构(Event-Driven Architecture,EDA)旨在围绕事件的产生、检测、消费和响应来协调行为。这种架构使事件生产者和消费者之间能够实现高度解耦、可扩展和动态的互连。 ## 二、别名 * 事件驱动系统 * 基于...
由于Java语言本身不内置事件驱动机制的相关接口,相比于C#中的event和delegate机制,Java实现事件驱动需要更复杂的设计模式。一种常见的实现方式是观察者模式,它要求被观察的对象(Subject)和观察者(Observer)...
该项目驱动模式在《JAVA语言》课程改革中的应用,受到了业界的广泛关注和探讨。 首先,项目驱动模式的核心在于通过具体的项目任务,激发学生的学习兴趣和参与热情,使学生在完成项目的过程中,能够主动探索和学习...
- Type 4:纯Java驱动,直接与数据库通信,无需中间层,如MySQL Connector/J。 3. 数据库驱动示例: - MySQL Connector/J:这是MySQL官方提供的Type 4驱动,用于连接MySQL数据库,完全用Java编写,性能高效。 - ...
通过`classes12.jar`,开发者可以使用Oracle的 Thin 或 Thick 驱动模式来建立与数据库的连接。 `ojdbc14.jar` 文件是Oracle的JDBC Type 4驱动,它实现了Java标准的JDBC API,提供了完全基于Java的网络通信,无需...
在Java中,事件驱动编程和发布/订阅模型都广泛使用此模式。 12. 状态模式:状态模式允许对象在其内部状态改变时改变其行为。在处理对象状态变化导致行为变化的问题时,状态模式可以简化代码并提高可读性。 13. ...