色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

java的事件處理

瀏覽:61日期:2024-06-19 09:29:58
內(nèi)容: 在JAVA程序設(shè)計(jì)中,事件的處理是非常重要的,尤其是在需要自定義事件和設(shè)計(jì)JavaBean時(shí).對事件的處理過程有一個(gè)完整的認(rèn)識(shí)對于編程是很有幫助的。下面用一個(gè)演示性的例子來說明事件及其處理過程一.事件的組成 如果想要自定義一個(gè)事件,則必須提供一個(gè)事件的監(jiān)聽接口以及一個(gè)事件類。在JAVA中監(jiān)聽接口繼承java.util.EventListener,事件類繼承java.util.EventObject.很多基本的事件在編程環(huán)境中都已經(jīng)提供可以很方便使用,但是在自定義事件中必須要要了解這些。下面是一個(gè)事件類的代碼,事件類可以向用戶處理程序提供被監(jiān)聽類的信息import java.util.*;public class PropertyEvent extends EventObject {public PropertyEvent(){}}下面是監(jiān)聽接口的代碼import java.util.*;public interface PropertyListener extends EventListener {public void propertyChanged(PropertyEvent propertyEvent);}二.事件的處理機(jī)制下面是一段簡要的被監(jiān)聽類代碼,通過代碼分析事件處理過程import java.util.*;public class Exam {private int property;//listeners用來存放已注冊的監(jiān)聽對象private Set listeners= new HashSet();.....public void addListener(PropertyListener propertyListener){//listeners必須保證只能被一個(gè)線程訪問synchronized(listeners){listeners.add(propertyListener);}}public void firePropertyChange(){Iterator iterator;synchronized(listeners){//將listeners中的類名放到iteratoriterator = new HashSet(listeners).iterator();} //創(chuàng)建事件類PropertyEvent propertyEvent = new PropertyEvent();while(iterator.hasNext()){PropertyListener propertyListener = (propertyListener) iterator.next();//調(diào)用用戶的事件處理程序propertyListener.propertyChanged(propertyEvent);}}}當(dāng)屬性值發(fā)生變化時(shí),首先進(jìn)行內(nèi)部處理調(diào)用firePropertyChange方法,產(chǎn)生一個(gè)事件對象然后用事件對象為參數(shù)來調(diào)用用戶的事件處理程序。三.事件處理的使用1.基本用法public Exam exam;exam.addListener(this);public void propertyChange(PropertyEvent event){...}注:exam是被監(jiān)聽對象,this為監(jiān)聽對象,是已經(jīng)實(shí)現(xiàn)了接口方法的當(dāng)前類,addListener將當(dāng)前類注冊到listeners.2.一個(gè)被監(jiān)聽對象可以有多個(gè)監(jiān)聽對象exam.addListener(listener1);exam.addListener(listener2); 這樣當(dāng)exam的property發(fā)生變化時(shí),actionListener1和actionListener2的處理程序都會(huì)被調(diào)用。當(dāng)然listener1和listener2必須都是已實(shí)現(xiàn)接口方法的類。3.被監(jiān)聽的對象也可以是實(shí)現(xiàn)了方法的接口exam.addListener(new PropertyListener(){//用戶定義事件處理過程public void propertyChange(PropertyEvent event){...}); 這種方法在實(shí)際編程中非常方便。 from-javareaserach Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd ?
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产精品国产高清国产专区 | 亚洲精品区一区二区三区四 | 久久色婷婷 | 69视频成人 | 美国毛片在线 | 久久免费视频在线观看30 | 国产亚洲精品国产一区 | 亚洲欧美日韩中文字幕在线一区 | 精品视频免费在线 | 国产欧美日韩在线 | 欧美一级特黄真人毛片 | 亚洲成人在线免费视频 | 久久99精品久久久久久久不卡 | 欧美三级一区 | 国产精品免费视频一区二区三区 | 久久精品国产精品亚洲精品 | 激情6月丁香婷婷色综合 | 欧美成在线播放 | 一区二区三区影视 | 毛色毛片免费看 | 美女超爽久久久久网站 | 久久精品国产精品亚洲精品 | 老妇综合久久香蕉蜜桃 | 视频亚洲一区 | 国产日韩亚洲不卡高清在线观看 | 思思久热re6这里有精品 | 美女一级片 | 亚洲黄区 | 91精品国产高清久久久久久91 | 一道本久久 | 午夜欧美性欧美 | 久色视频在线观看 | 伊人久久在线 | 久久草在线观看 | 亚洲小视频网站 | 成年人在线观看免费 | 中文字幕日韩精品有码视频 | 亚洲网站一区 | 日日狠狠久久偷偷四色综合免费 | 精品久久九九 | 亚洲www在线 |