`
xiaoboss
  • 浏览: 648133 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 定制事件

 
阅读更多

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事件处理

    本篇文章将详细讲解如何在Java中处理`JCheckBox`的事件,以及相关知识点。 首先,`JCheckBox`继承自`JComponent`,并实现了`ItemSelectable`接口,这意味着它可以被添加到其他容器中,并且可以与其他组件一起响应...

    java事件单击事件 实例代码

    Java的LookAndFeel允许我们改变应用程序的外观和感觉,以匹配不同的操作系统或定制的风格。在"LookAndFeelDemo.java"文件中,可能包含了对LookAndFeel的设置和应用。例如,我们可以使用`UIManager`类的静态方法来...

    java个性化定制实现

    9. **事件驱动编程**:Java Swing和JavaFX等GUI库支持事件驱动编程,用户可以通过监听和处理事件来实现交互式定制。 10. **框架集成**:Spring Framework、Hibernate、MyBatis等框架提供了强大的工具集,可以帮助...

    基于JAVA技术的个性化定制系统

    【基于JAVA技术的个性化定制系统】是一个以Java编程语言为核心,旨在实现用户个性化需求的软件应用。该系统借鉴了Google的个性化主页理念,为用户提供高度自定义的服务,让用户可以根据自己的喜好和需求设置首页内容...

    java事件处理机制

    Java事件处理机制是Java GUI编程中的关键组成部分,它允许用户与图形界面进行交互。在Java 1.1中引入的事件处理模型,是基于“监听器”(Listener)和“事件”(Event)的概念,这一机制至今仍广泛应用于现代Java...

    java构建定制的树型视图

    在Java编程语言中,构建定制的树型视图是一项常见的任务,特别是在开发用户界面或数据结构展示时。Java提供了一套强大的工具来帮助开发者创建这样的视图,这主要涉及到Java Swing库中的JTree组件。本篇文章将深入...

    Java事件处理步骤讲解

    Java事件处理是构建图形用户界面(GUI)应用程序中不可或缺的一部分,它允许程序响应用户的...记住,每个事件类都有相应的监听器接口,通过实现这些接口,我们可以定制事件处理逻辑,使得Java应用程序更加用户友好。

    JAVA程序员培训定制课程

    【JAVA程序员培训定制课程】是一门全面而深入的教程,旨在帮助学员掌握Java编程的核心技能,从而成为合格的Java程序员。课程分为五个主要部分,涵盖了从基础到高级的Java编程知识,同时也为Java认证考试提供了充分的...

    java事件监听模式实现万能事件总线.zip

    Java简单几个类实现万能事件总线,采用享元模式和监听器模式。 使用方法很简单,直接EventCenter.get().addListener(key,()-&gt;{...你的代码快...});就行, 无论在哪,只要执行EventCenter.get().sendMessage(key,...

    Java中事件处理.pdf

    程序员可以通过事件监听器来定制UI组件的行为,创建出丰富的、响应用户操作的应用程序。同时,Swing库进一步扩展了这一机制,提供了更多样化的组件和事件处理选项。理解并熟练运用Java的事件处理机制是开发桌面应用...

    第9章Java事件处理共44页.pdf.zip

    它们都有各自的事件体系,AWT事件相对基础,Swing事件则更强大且可定制化。 3. **事件类和监听器接口**:例如,`ActionListener`用于处理按钮点击,`MouseListener`处理鼠标操作,`KeyListener`处理键盘输入。理解...

    java源码包---java 源码 大量 实例

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

    java运行海康威视sdk+java+海康威视

    以上知识点是针对“java运行海康威视sdk+java+海康威视”项目的核心技术,通过这些知识,开发者可以构建自己的Java应用程序来管理和控制海康威视的设备,实现监控系统的定制化需求。在实际开发过程中,还需要结合...

    SDKjAVA_大华sdk视频_大华javasdk_

    对于"SDKjAVA",可能包含Winform环境下的Java代码示例,这些代码可以作为模板,让开发者了解如何在Java程序中嵌入视频窗口、如何处理设备事件等。 3. **设备控制**:利用大华SDK,开发者可以实现对监控设备的远程...

    JAVA读取USB扫描枪

    在Java中,我们可以利用`java.awt.event.KeyEvent`和`java.awt.Robot`类来捕获和处理这些键盘事件。不过,这种方法存在局限性,因为可能与其他键盘输入冲突,且无法区分输入是否来自扫描枪。 更专业的方法是使用第...

    java-onvif.zip_-baijiahao_ONVIF java_java onvif_java-onvif_refer

    5. **事件订阅**:接收来自摄像机的事件通知,例如移动检测、音频检测或I/O触发器的状态变化。 6. **安全设置**:管理设备的认证机制,包括用户名/密码、证书和TLS/SSL配置。 7. **扩展服务**:根据特定摄像机的...

    基于Java 实现的基于事件的量化回测框架.zip

    基于Java实现的基于事件的量化回测框架是这类系统的基石,它允许开发者模拟交易策略并评估其在历史数据上的表现。这样的框架通常包含多个关键组件和概念,我们将详细探讨这些内容。 1. **事件驱动编程**:事件驱动...

    JAVA程序员培训定制课程c11PPT教案学习.pptx

    Java程序员培训定制课程c11PPT教案主要涵盖了Java事件处理这一核心概念,这对于开发具有用户交互性的图形用户界面(GUI)至关重要。以下是详细的讲解: 1. **事件**:在Java编程中,事件是一个对象,它代表了一个...

    JAVA_API1.6文档(中文)

    javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意 Java 类与 JAXB 一起使用。 javax.xml.bind.attachment...

Global site tag (gtag.js) - Google Analytics