晕晕乎听了一下午课,再加上以前对java事件监听的学习,理解不甚透彻,简单说说我的看法,不到之处还请多多指点:
在程序编写设计中,想通过点击按钮或移动鼠标来实现某功能,通常这种情况或者类似的情况下,我们可以使用事件/监听器模式。
1.事件有很多种,而且事件发生的时序是不确定的。可以简单的定义一个事件的接口,如下例:
interface Event{
static int event1 = 0;
static int event2 = 1;
static int event3 = 2;
...
int getEventType();
}
2.一个监听器的接口的一种可能形式:
interface listener{
void handleEvent(Event event);
}
3.实现监听器接口的类:
class ListenerImpl implements Listener{
some other methods of this implementation;
...
void handleEvent(Event event){
switch(event.getEventType()){
case Event.event1:
doSomething();
break;
case Event.event2:
doSomethingElse();
break;
default:
break;
}
}
4.事件的实现类
class EventImpl implements Event{
private int type;
public EnentImpl(int type){
this.type = type;
}
}
5.处理实现事件监听类
class ProcessThread{
private Listener listener;
public void setListener(Listener listener){
this.listener = listener;
}
public void execute(){
if(this.listener != null){
Event event = new EventImpl(type);//触发了某事件
listener.handleEvent(event);
}
}
}
6.启动主函数,实现事件监听功能
以上就是我对事件监听机制的一点点理解,不到之处,还望指点。
分享到:
相关推荐
本小结将详细介绍Vue中各种事件监听实例,涵盖计算属性对象的使用、方法与计算属性的对比、v-on指令的使用、以及传参在事件监听中的应用等多个知识点。 首先,我们来看计算属性的使用。在Vue中,计算属性对象允许...
在前端开发中,事件监听是一项基础且核心的技术。然而,由于不同浏览器厂商对事件监听机制的实现各不相同,导致了在编写JavaScript代码时需要对不同浏览器的兼容性问题进行处理。本文将总结JavaScript在事件监听方面...
### 事件编程小结 在Java中,事件处理机制是一种非常重要的编程模型,尤其是在图形用户界面(GUI)设计中。事件编程允许程序响应用户的输入,如点击按钮、移动鼠标等。本文将详细介绍Java中的事件处理机制,特别是...
标题中的"JavaScript事件学习小结(一)事件流"指的是JavaScript中的事件处理机制,特别是事件流的概念。事件流描述了在DOM(文档对象模型)中事件如何从根节点传播到具体的元素节点。在JavaScript中,事件是用户与...
这个事件由事件源(通常是一个组件,如 JButton)产生,并被传递给一个或多个事件监听器。监听器是实现了特定接口的对象,它们定义了处理这些事件的方法。 例如,在登录功能中,我们可能会有以下组件: 1. 用户名...
JavaScript 键盘事件是网页开发中非常重要的一个部分,它允许开发者监听用户的键盘输入并做出相应的响应。在本文中,我们将深入探讨JavaScript键盘事件的测试总结,主要关注各种浏览器(如IE、Firefox、Safari和...
这篇文章重点讲解了如何使用JavaScript操作DOM事件,特别是在监听鼠标相关事件上的技巧和实践。 ### 1. 鼠标点击(click)事件 在HTML元素上绑定点击事件是最常见的操作之一。通过onclick事件属性,当用户点击元素...
本文主要给大家分享如何在全局上去监听 click 点击事件,并做些通用处理或是拦截。使用场景可能就是具体的全局防快速重复点击,或是通用打点分析上报,用户行为监控等。以下将以四种不同的思路和实现方式去监控全局...
iOS应用开发中监听键盘事件是一个重要的技能,因为它可以帮助开发者优化用户界面,提升用户体验。本文将介绍如何使用Objective-C语言在iOS应用中监听键盘事件,并提供相应的代码实例。这些技能对于任何想要深入学习...
### 小结 在这个"关于监听器Listener和过滤器的小demo"中,作者可能创建了一个简单的Web应用程序,用以演示如何使用监听器监听应用程序的事件,以及如何使用过滤器处理请求和响应。文件`day10.html`和`day10.md`...
2. 对于Firefox,则直接使用addEventListener来监听DOMContentLoaded事件。 3. 对于Internet Explorer,使用document.write()向页面中添加一个带有defer属性的script元素,并通过该script元素加载完成来模拟...
小结: 通过 PL/SQL 获取 Oracle 的服务名: select global_name from global_name; 解决 ORA-12541:TNS:无监听程序的错误需要启动监听程序,并配置监听程序和 Net 服务名。通过以上步骤,可以成功连接 Oracle ...
vue项目小结 - 滚动监听钩子、时间求解、加载、路由、pinia、异步请求、界面展示、数据架构技巧等核心功能总结
### 小结 编写跨浏览器的事件处理机制需要仔细考虑不同浏览器在实现上的差异,并为这些差异提供兼容方案。W3C标准与IE浏览器之间的主要差异在于事件监听和移除的方法不同,以及事件名称前缀和`useCapture`参数的...