listener监听器的工作原理是什么

Java 最新的事件处理方法是基于授权事件模型
事件源生成事件并将其发送至一个或多个监听器
监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。
 
事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。  
通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。
 
事件源:事件源是一个生成事件的对象
一个事件源可能会生成不同类型的事件
事件源提供了一组方法,用于为事件注册一个或多个监听器。
每种事件的类型都有其自己的注册方法。一般形式为:
public void add<EventType>Listener (TypeListener e)
AWT采取的事件控制过程:监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”
事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。 
事件源将在发生事件时向所有注册的监听器发送事件对象。  
监听器对象使用事件对象中的信息来确定它们对事件的响应
 
事件模型:
1.基于代理(授权)事件模型
事件处理是一个事件源授权到一个或者多个事件监听器。其基本原理是:组件激发事件,事件监听器监听和处理事件,可以调用组件的add<EventType>Listener方法向组件注册监听器。把其加入到组件以后,如果组件激发了相应类型的事件,那么定义在监听器中的事件处理方法会被调用。
 
2.此模型主要由以三种对象为中心组成
事件源       由它来激发产生事件
    是产生或抛出事件的对象。
事件监听器  由它来处理事件
          实现某个特定EventListener 接口,此接口定义了一种或多种方法,事件源调用它们以响应该接口所处理的每一种特定事件类型 。
事件  具体的事件类型
    事件类型封装在以java.util.EventObject为根的类层次中。当事件发生时,事件记录发生的一切事件,并从事件源传播到监听器对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java监听器Listener)是一种事件驱动的编程模式,用于在发生特定事件时自动触发相关的处理操作。监听器的实现需要以下几个步骤: 1. 定义监听器接口:定义一个接口,包含要监听的事件类型及对应的处理方法,例如: ```java public interface MyListener { public void onEvent(Event e); } ``` 2. 实现监听器接口:实现定义的接口,实现对应的处理方法,例如: ```java public class MyListenerImpl implements MyListener { public void onEvent(Event e) { // 处理事件逻辑 } } ``` 3. 注册监听器:在需要监听事件的对象中,注册监听器,例如: ```java MyListener listener = new MyListenerImpl(); myObject.addMyListener(listener); ``` 4. 触发事件:在需要触发事件的地方,创建事件对象,调用监听器的处理方法,例如: ```java Event e = new Event(); myObject.notifyMyListener(e); ``` Java监听器原理是基于观察者模式(Observer Pattern),观察者模式是一种对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。在Java中,被观察者对象维护一个观察者列表,在状态改变时,遍历观察者列表,调用观察者的更新方法。监听器就是观察者的一种实现方式,被观察者对象的状态改变就对应着某个事件的发生,观察者就是对应的监听器。通过监听器,实现了对象间的解耦,使得程序更加灵活和可扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值