<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 63  文章 - 0  trackbacks - 0
    <2009年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    一個事件監聽機制(Event Listener)的例程

    事件監聽機制在java編程中有很重要的應用,一般我們在處理GUI編程時,只是重寫一下監聽接口的perform函數即可。但事件監聽在底層是如何運行的?通過下面的例子我們可以有個清楚地了解。
    1.      首先寫一個事件類
    public class NewEvent {
         private int eventType=-1;
         public      NewEvent(int type){
               eventType=type;
         }
         public int getEventType(){
               return eventType;
         }

    }
    2.      寫一個事件監聽器

    public interface INewEventListener {
          public void doProcessEvent(NewEvent event);

    }
    3.      寫一個測試程序
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;


    public class Source {
         private List listeners = new ArrayList();
         
         public void addNewEventListener(INewEventListener listener){//增加一個監聽器
               if(!listeners.contains(listener)){
                     listeners.add(listener);
               }
         }
         
         public void fireEvent(NewEvent event){//觸發事件
               for (Iterator i=listeners.iterator(); i.hasNext();) {
                     INewEventListener listener = (INewEventListener)i.next();
                     listener.doProcessEvent(event);
               }
         }
         
         public void GenerateEvent(int eventType){//生成一個指定類型的事件
               fireEvent(new NewEvent(eventType));
         }
         
         //for test
         public static void main (String [] args){
               Source source = new Source ();
               source.addNewEventListener(new INewEventListener(){//增加一個監聽器,并實現這個監聽器接口的方法
                      public void doProcessEvent(NewEvent event){
                            int eventType = event.getEventType();
                            System.out.println("EventType "+eventType+ " was triggered");
                      }
               });
               source.GenerateEvent(3);//生成一個eventType為3的事件
               
         }
         
    }

    posted on 2009-04-05 08:39 lanxin1020 閱讀(169) 評論(0)  編輯  收藏 所屬分類: j2se
    主站蜘蛛池模板: 亚洲国产一成人久久精品| 亚洲色婷婷综合开心网| 精品亚洲成A人无码成A在线观看| 国内精品免费视频精选在线观看| 亚洲精品亚洲人成人网| 国产一级在线免费观看| 久久久久久av无码免费看大片| 免费a级黄色毛片| 亚洲国语在线视频手机在线| **一级毛片免费完整视| 亚洲1234区乱码| 免费无码不卡视频在线观看| 亚洲视频一区在线播放| 30岁的女人韩剧免费观看| 亚洲a∨无码男人的天堂| 欧美a级在线现免费观看| 亚洲人成网www| 91免费人成网站在线观看18| 国产成人无码综合亚洲日韩| 亚洲人成网站18禁止| 免费视频精品一区二区三区| 亚洲成人福利在线| 日韩成人免费aa在线看| 亚洲精品国产精品国自产网站| 女人18毛片特级一级免费视频| 美女露100%胸无遮挡免费观看| 成人片黄网站色大片免费| 亚洲丁香婷婷综合久久| 亚洲永久无码3D动漫一区| 日韩电影免费在线观看网址| 国产成人免费全部网站| 亚洲中文无码mv| 成人免费看片又大又黄| 日本激情猛烈在线看免费观看 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产精品成人69XXX免费视频| 亚洲91av视频| 日本高清免费中文字幕不卡| 99久久婷婷免费国产综合精品| 免费a级黄色毛片| 最近最好最新2019中文字幕免费|