package event;
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 static void main(String[] args) {
A a = new A();
AListener aL1 = new AListenerImpl();
AListener aL2 = new AListenerImpl();
a.addAListener(aL1);
a.addAListener(aL2);
a.setValue(123);
a.setValue(1234);
}
}
package event;
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);
setValue(newValue);
}
public void setValue(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
package event;
//定义接口,当事件触发时调用
public interface AListener extends java.util.EventListener {
public abstract void performed(AEvent e);
}
package event;
public class AListenerImpl implements AListener {
@Override
public void performed(AEvent e) {
// 要处理的
System.out.println("e.getValue():" + e.getValue());
}
}
分享到:
相关推荐
本篇文章将详细讲解如何在Java中处理`JCheckBox`的事件,以及相关知识点。 首先,`JCheckBox`继承自`JComponent`,并实现了`ItemSelectable`接口,这意味着它可以被添加到其他容器中,并且可以与其他组件一起响应...
Java的LookAndFeel允许我们改变应用程序的外观和感觉,以匹配不同的操作系统或定制的风格。在"LookAndFeelDemo.java"文件中,可能包含了对LookAndFeel的设置和应用。例如,我们可以使用`UIManager`类的静态方法来...
9. **事件驱动编程**:Java Swing和JavaFX等GUI库支持事件驱动编程,用户可以通过监听和处理事件来实现交互式定制。 10. **框架集成**:Spring Framework、Hibernate、MyBatis等框架提供了强大的工具集,可以帮助...
【基于JAVA技术的个性化定制系统】是一个以Java编程语言为核心,旨在实现用户个性化需求的软件应用。该系统借鉴了Google的个性化主页理念,为用户提供高度自定义的服务,让用户可以根据自己的喜好和需求设置首页内容...
Java事件处理机制是Java GUI编程中的关键组成部分,它允许用户与图形界面进行交互。在Java 1.1中引入的事件处理模型,是基于“监听器”(Listener)和“事件”(Event)的概念,这一机制至今仍广泛应用于现代Java...
在Java编程语言中,构建定制的树型视图是一项常见的任务,特别是在开发用户界面或数据结构展示时。Java提供了一套强大的工具来帮助开发者创建这样的视图,这主要涉及到Java Swing库中的JTree组件。本篇文章将深入...
Java事件处理是构建图形用户界面(GUI)应用程序中不可或缺的一部分,它允许程序响应用户的...记住,每个事件类都有相应的监听器接口,通过实现这些接口,我们可以定制事件处理逻辑,使得Java应用程序更加用户友好。
【JAVA程序员培训定制课程】是一门全面而深入的教程,旨在帮助学员掌握Java编程的核心技能,从而成为合格的Java程序员。课程分为五个主要部分,涵盖了从基础到高级的Java编程知识,同时也为Java认证考试提供了充分的...
Java简单几个类实现万能事件总线,采用享元模式和监听器模式。 使用方法很简单,直接EventCenter.get().addListener(key,()->{...你的代码快...});就行, 无论在哪,只要执行EventCenter.get().sendMessage(key,...
程序员可以通过事件监听器来定制UI组件的行为,创建出丰富的、响应用户操作的应用程序。同时,Swing库进一步扩展了这一机制,提供了更多样化的组件和事件处理选项。理解并熟练运用Java的事件处理机制是开发桌面应用...
5. **事件订阅**:接收来自摄像机的事件通知,例如移动检测、音频检测或I/O触发器的状态变化。 6. **安全设置**:管理设备的认证机制,包括用户名/密码、证书和TLS/SSL配置。 7. **扩展服务**:根据特定摄像机的...
基于Java实现的基于事件的量化回测框架是这类系统的基石,它允许开发者模拟交易策略并评估其在历史数据上的表现。这样的框架通常包含多个关键组件和概念,我们将详细探讨这些内容。 1. **事件驱动编程**:事件驱动...
javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment...
在Eclipse中使用Java实现BIRT的事件处理是将BIRT报表系统与强大的Java编程语言相结合,以增强报表的功能和交互性。BIRT(Business Intelligence and Reporting Tools)是一款基于Eclipse平台的开源报表系统,提供了...
它们都有各自的事件体系,AWT事件相对基础,Swing事件则更强大且可定制化。 3. **事件类和监听器接口**:例如,`ActionListener`用于处理按钮点击,`MouseListener`处理鼠标操作,`KeyListener`处理键盘输入。理解...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
以上知识点是针对“java运行海康威视sdk+java+海康威视”项目的核心技术,通过这些知识,开发者可以构建自己的Java应用程序来管理和控制海康威视的设备,实现监控系统的定制化需求。在实际开发过程中,还需要结合...
对于"SDKjAVA",可能包含Winform环境下的Java代码示例,这些代码可以作为模板,让开发者了解如何在Java程序中嵌入视频窗口、如何处理设备事件等。 3. **设备控制**:利用大华SDK,开发者可以实现对监控设备的远程...
在Java中,我们可以利用`java.awt.event.KeyEvent`和`java.awt.Robot`类来捕获和处理这些键盘事件。不过,这种方法存在局限性,因为可能与其他键盘输入冲突,且无法区分输入是否来自扫描枪。 更专业的方法是使用第...
Java程序员培训定制课程c11PPT教案主要涵盖了Java事件处理这一核心概念,这对于开发具有用户交互性的图形用户界面(GUI)至关重要。以下是详细的讲解: 1. **事件**:在Java编程中,事件是一个对象,它代表了一个...