知识大全 浅析Java语言的事件处理快捷回复
Posted 事件
篇首语:道德可以弥补能力的不足,能力却难以掩盖道德的缺陷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅析Java语言的事件处理快捷回复相关的知识,希望对你有一定的参考价值。
浅析Java语言的事件处理快捷回复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在JAVA程序设计中 事件的处理是非常重要的 尤其是在需要自定义事件和设计JavaBean时 对事件的处理过程有一个完整的认识对于编程是很有帮助的
下面用一个演示性的例子来说明事件及其处理过程
一 事件的组成
如果想要自定义一个事件 则必须提供一个事件的监听接口以及一个事件类 在JAVA中监听接口继承java util EventListener 事件类继承java util EventObject 很多基本的事件在编程环境中都已经提供可以很方便使用 但是在自定义事件中必须要要了解这些
下面是一个事件类的代码 事件类可以向用户处理程序提供被监听类的信息
import java util *;
public class PropertyEvent extends EventObject
public PropertyEvent()
下面是监听接口的代码
import java util *;
public interface PropertyListener extends EventListener
public void propertyChanged(PropertyEvent propertyEvent);
二 事件的处理机制
下面是一段简要的被监听类代码 通过代码分析事件处理过程
import java util *;
public class Exam
private int property;
//listeners用来存放已注册的监听对象
private Set listeners= new HashSet();
public void addListener(PropertyListener propertyListener)
//listeners必须保证只能被一个线程访问
synchronized(listeners)
listeners add(propertyListener);
public void firePropertyChange()
Iterator iterator;
synchronized(listeners)
//将listeners中的类名放到iterator
iterator = new HashSet(erator();
//创建事件类
PropertyEvent propertyEvent = new PropertyEvent();
while(iterator hasNext())
PropertyListener propertyListener = (propertyListener) iterator next();
//调用用户的事件处理程序
propertyListener propertyChanged(propertyEvent);
当属性值发生变化时 首先进行内部处理调用firePropertyChange方法 产生一个事件对象然后用事件对象为参数来调用用户的事件处理程序
三 事件处理的使用
基本用法
public Exam exam;
exam addListener(this);
public void propertyChange(PropertyEvent event)
注 exam是被监听对象 this为监听对象 是已经实现了接口方法的当前类 addListener
将当前类注册到listeners
一个被监听对象可以有多个监听对象
exam addListener(listener );
exam addListener(listener );
这样当exam的property发生变化时 actionListener 和actionListener 的处理程序都会
被调用 当然listener 和listener 必须都是已实现接口方法的类
被监听的对象也可以是实现了方法的接口
exam addListener(
new PropertyListener()
//用户定义事件处理过程
public void propertyChange(PropertyEvent event)
);
cha138/Article/program/Java/hx/201311/26740相关参考
浅析Java与C#的事件处理机制(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! \\在程序
ASP.NET控件开发基础之复合控件事件处理浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在JAVA程序设计中事件的处理是非常重要的尤其是在需要自定义事件和设计JavaBean时对事件的处理过程有一个完整的认识对于编程是很有帮助的 下面用一个演示性的例子来说明事件及其处理过程
内省是Java语言对Bean类属性事件的一种处理方法(也就是说给定一个javabean对象我们就可以得到/调用它的所有的get/set方法) 例如类A中有属性name那我们可以通过getName
探讨与比较Java和.NET的事件处理框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!事件驱动模
为Java应用程序添加退出事件处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一个完整的Ja
JavaSwing中的键盘事件处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在javaSw
Java中可复用事件处理的设计与实现代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 目前面向
Java图形界面事件监听处理之四种方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我自年上大
Java语言中字符的处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要本文主要讨论了Jav