`
zhaobing315
  • 浏览: 231682 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java事件机制

阅读更多

java事件有三个角色

事件源--事件发生的源头,如一个button

事件--通过事件源生成

事件监听器--注册在事件源上,当事件源状态改变时执行其中方法

 

example:

1.定义事件源

 

package com.test.event;

import java.util.EventListener;
import java.util.EventObject;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class EventSource {
    
    //存储事件源的所有监听者
    private Set listeners = new HashSet();
    
    public void addListener(EventListener listener){
        listeners.add(listener);
    }
    
    //事件源状态改变
    public void changeSource(EventObject event){
        System.out.println("事件源状态改变!");
        for(Iterator it = listeners.iterator(); it.hasNext();){
            ClickListener listener = (ClickListener) it.next();
            //事件源状态改变时执行监听器方法
            listener.clickChanged(event);
        }
    }
}
 

 2.定义事件

 

package com.test.event;

import java.util.EventObject;

public class ClickEvent extends EventObject {

    //由事件源生成事件
    public ClickEvent(Object source) {
        super(source);
    }

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

}

 3.定义监听器接口

 

package com.test.event;

import java.util.EventListener;
import java.util.EventObject;

public interface ClickListener extends EventListener {
    
    public void clickChanged(EventObject event);
}

 4.定义监听器实现

 

package com.test.event;

import java.util.EventObject;

public class ClickListenerImpl implements ClickListener {

    public void clickChanged(EventObject event) {
        System.out.println("监听器方法已经执行!");
    }
}

 5.测试

 

package com.test.event;

import java.util.EventObject;

public class test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        //创建一个事件源
        EventSource source = new EventSource();
        //通过事件源创建一个事件类
        EventObject event = new ClickEvent(source);
        //创建一个监听器
        ClickListener listener = new ClickListenerImpl();
        //给事件源添加监听器
        source.addListener(listener);
        //触发事件源
        source.changeSource(event);
    }
}

 运行结果:

 

事件源状态改变!

监听器方法已经执行!

 

分享到:
评论

相关推荐

    Java事件机制例子

    Java事件机制基于观察者模式,其中事件源(如按钮)会发布事件,而事件监听器则订阅这些事件并执行相应的操作。 事件、事件监听器和事件源是Java事件处理的三个核心概念。事件是用户或系统发生的某种情况,如鼠标...

    初步接触Java事件机制

    Java事件机制是Java编程中一个重要的概念,它主要用于处理用户界面(UI)的交互操作,如按钮点击、窗口改变等事件。在这个过程中,事件、事件源和事件监听器是核心概念。下面将详细阐述这些概念及其在实际开发中的...

    java中的事件机制

    Java中的事件机制是Java编程中一个重要的概念,它基于观察者模式(Observer Pattern)来实现对象之间的通信。观察者模式是一种行为设计模式,允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的...

    Java事件机制常见事件.doc

    Java事件机制常见事件.doc

    java事件处理机制Demo

    Java事件处理机制是Java编程中一个重要的组成部分,它主要用于实现用户界面(UI)与应用程序逻辑之间的交互。在Java中,事件处理主要涉及到事件源、事件和事件监听器。本示例"java事件处理机制Demo"将深入探讨Java的...

    java事件处理机制ppt

    Java事件处理机制是Java GUI编程中的核心组成部分,它允许程序响应用户的交互操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件...

    Java + C# 事件机制理解

    #### 一、Java事件机制 在Java中,事件处理通常遵循一种称为“发布者-订阅者”(Publisher-Subscriber)或“观察者模式”(Observer Pattern)的设计模式。这种模式使得一个对象(发布者)能够通知其他对象(订阅者...

    JAVA事件处理机制

    Java事件处理机制是Java编程中一个关键的概念,它主要用于用户界面(UI)应用程序,使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个核心组件:事件源(Event Source)、事件...

    事件驱动模型实例详解(Java篇)

    ### 事件驱动模型实例详解(Java篇) #### 1. 事件驱动模型概念解析 事件驱动模型是现代软件开发中一种关键的编程模式,尤其在图形用户界面(GUI)编程中占据核心地位。该模型围绕三个核心概念构建:事件源、侦听...

    Java事件机制要素及实例详解

    Java事件机制是GUI编程中一个重要的概念,它允许程序对用户界面中的各种交互进行响应。在Java中,事件机制主要由三个核心要素组成:事件、事件源和事件监听器。 1. **事件**:事件是用户或系统进行的某种操作,如...

    java事件监听机制.doc

    java事件监听机制 java中的事件机制的参与者有3种角色: .event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中

    java事件处理机制

    java事件处理机制

    Java事件处理机制教学方法探讨.pdf

    为了让初学者更好理解Java事件处理机制及其编程技术,黄增喜、王晓明和于春三位作者提出了一个基于核心概念解析、事件处理流程分析以及角色分工清晰化的教学思路,并给出了相应的教学方法。以下是对这些知识点的详细...

    JAVA事件处理机制.ppt

    Java事件处理机制是Java开发GUI(图形用户界面)应用程序时不可或缺的部分,它使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及以下几个核心概念: 1. **事件(Event)**:事件...

    JavaGUI事件处理机制

    Java GUI事件处理机制是Java应用程序开发中的重要组成部分,主要用于响应用户在图形用户界面中的各种操作。这一机制采用了委托事件模型,使得程序结构清晰,易于扩展。下面将详细讲解这一机制的关键概念、工作流程...

    java事件处理机制详解

    Java事件处理机制是一种用于在组件之间传递和处理事件的机制,它是GUI编程中不可或缺的一部分。在Java中,事件处理涉及到三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件监听器(Event ...

    用Java事件处理机制实现录制回放功能

    在本文中,我们将深入探讨如何利用Java事件处理机制实现录制和回放功能,这种功能常见于GUI测试工具中,用于捕获用户操作并在代码修改后自动回放这些操作。 1. Java 事件介绍 - **事件是什么**:在Java中,事件是...

    Java事件处理机制- 事件监听器的四种实现方式

    Java事件处理机制是Java GUI编程中的核心组成部分,它允许用户与界面元素进行交互。事件监听器是这一机制的关键,用于响应特定类型的事件。本文将详细解析Java事件处理机制中事件监听器的四种实现方式:自身类作为...

Global site tag (gtag.js) - Google Analytics