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

您的位置:首頁技術文章
文章詳情頁

java的事件處理

瀏覽:59日期:2024-06-19 09:29:58
內容: 在JAVA程序設計中,事件的處理是非常重要的,尤其是在需要自定義事件和設計JavaBean時.對事件的處理過程有一個完整的認識對于編程是很有幫助的。下面用一個演示性的例子來說明事件及其處理過程一.事件的組成 如果想要自定義一個事件,則必須提供一個事件的監(jiān)聽接口以及一個事件類。在JAVA中監(jiān)聽接口繼承java.util.EventListener,事件類繼承java.util.EventObject.很多基本的事件在編程環(huán)境中都已經提供可以很方便使用,但是在自定義事件中必須要要了解這些。下面是一個事件類的代碼,事件類可以向用戶處理程序提供被監(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);}二.事件的處理機制下面是一段簡要的被監(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必須保證只能被一個線程訪問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();//調用用戶的事件處理程序propertyListener.propertyChanged(propertyEvent);}}}當屬性值發(fā)生變化時,首先進行內部處理調用firePropertyChange方法,產生一個事件對象然后用事件對象為參數來調用用戶的事件處理程序。三.事件處理的使用1.基本用法public Exam exam;exam.addListener(this);public void propertyChange(PropertyEvent event){...}注:exam是被監(jiān)聽對象,this為監(jiān)聽對象,是已經實現了接口方法的當前類,addListener將當前類注冊到listeners.2.一個被監(jiān)聽對象可以有多個監(jiān)聽對象exam.addListener(listener1);exam.addListener(listener2); 這樣當exam的property發(fā)生變化時,actionListener1和actionListener2的處理程序都會被調用。當然listener1和listener2必須都是已實現接口方法的類。3.被監(jiān)聽的對象也可以是實現了方法的接口exam.addListener(new PropertyListener(){//用戶定義事件處理過程public void propertyChange(PropertyEvent event){...}); 這種方法在實際編程中非常方便。 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 ?
標簽: Java
相關文章:
主站蜘蛛池模板: 免费在线观看亚洲 | 久久久久久久久久综合情日本 | 亚洲综合久久久久久888 | 国产r67194吃奶视频 | 国产特黄特色一级特色大片 | 波多野结衣中文一区二区免费 | 国产成人久久 | 欧美另类在线观看 | 亚洲国产成人精彩精品 | 宅女福利视频在线看免费网站 | 九九热精| 在线播放精品一区二区啪视频 | 日韩毛片高清免费 | 一级片免费视频 | 97视频免费上传播放 | 亚洲高清成人欧美动作片 | 日本天堂网 | 国产精品久久免费视频 | 国产91专区| 欧美一级日韩在线观看 | 欧美一级特黄特黄做受 | 国产自愉自愉全免费高清 | 亚洲精品 欧美 | 一区二区三区国产 | 免费a一毛片 | 国内精品免费一区二区观看 | 波多野结衣福利视频 | 精品一区二区三区的国产在线观看 | 日韩欧美一区二区三区久久 | 亚洲一区视频在线 | 精品一区二区三区免费爱 | 国产成人精品精品欧美 | 国产91成人| 欧美片能看的一级毛片 | 成人做爰www | 在线精品国产 | 一级特级aaa毛片 | 91精品久久久久久久久久 | 一本色道久久99一综合 | 欧美成人专区 | xx另类性欧美 |