武汉java培训
达内武汉中心

15271940953

热门课程

武汉java培训:事件的处理机制

  • 时间:2016-05-13
  • 发布:武汉Java培训
  • 来源:Java教程

当事件源发生事件时,就会自动调用该事件的接口方法,而方法中就是编写的事件处理程序代码。现在就让武汉java培训小编来介绍吧!

要实现AWT中事件处理,需以下三步:

1、事件源

能够产生事件的对象都可以成为事件源,如文本框,按钮等。也就是说,事件源必须是一个对象,而且这个对象必须是Java认为能够发生时间的对象。

2、监视器

需要一个对象对事件源进行监视,以便对发生的事件作出处理。

例如:对于文本框,这个方法为:addActionListener(监视器);

3、处理事件的接口

监视器负责处理事件源发生的事件。为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须申明实现相应的接口,即必须在类体中给出该接口中的所有方法体,那么当事件源发生事件时,监视器就自动调用类实现的某个接口方法。

下面是一段简要的被监听类代码,通过代码分析事件处理过程

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(listeners).iterator();

}

//创建事件类

PropertyEvent propertyEvent = new PropertyEvent();

while(iterator.hasNext()){

PropertyListener propertyListener = (propertyListener) iterator.next();

//调用用户的事件处理程序

propertyListener.propertyChanged(propertyEvent);

}

}

}

武汉java培训温馨提示:当属性值发生变化时,首先进行内部处理调用firePropertyChange方法,产生一个事件对象然后用事件对象为参数来调用用户的事件处理程序。

上一篇:Java中事件处理的使用
下一篇:武汉java培训:程序员该有的心态

软件开发行就业有优势

java和PHP语言对比

武汉java培训:Function的三种用法

武汉java培训:程序员该有的心态

选择城市和中心
贵州省

广西省

海南省