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

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

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

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因?yàn)榭诳剩系蹌?chuàng)造了水;
    因?yàn)楹诎?,上帝?chuàng)造了火;
    因?yàn)槲倚枰笥?,所以上帝讓你來到我身?br> Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認(rèn)證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    2 AWT事件處理模型

      上一節(jié)中的主要內(nèi)容是如何放置各種組件,使圖形界面更加豐富多彩,但是還不能響應(yīng)用戶的任何操作,要能夠讓圖形界面接收用戶的操作,就必須給各個(gè)組件加上事件處理機(jī)制。在事件處理的過程中,主要涉及三類對象:

      
    ◇ Event-事件,用戶對界面操作在java語言上的描述,以類的形式出現(xiàn),例如鍵盤操作對應(yīng)的事件類是KeyEvent。
      ◇ Event Source-事件源,事件發(fā)生的場所,通常就是各個(gè)組件,例如按鈕Button。
      ◇ Event handler-事件處理者,接收事件對象并對其進(jìn)行處理的對象

      例如,如果用戶用鼠標(biāo)單擊了按鈕對象button,則該按鈕button就是事件源,而java運(yùn)行時(shí)系統(tǒng)會(huì)生成ActionEvent類的對象actionE,該對象中描述了該單擊事件發(fā)生時(shí)的一些信息,然后,事件處理者對象將接收由java運(yùn)行時(shí)系統(tǒng)傳遞過來的事件對象actionE并進(jìn)行相應(yīng)的處理。

      由于同一個(gè)事件源上可能發(fā)生多種事件,因此java采取了授權(quán)處理機(jī)制(Delegation Model),事件源可以把在其自身所有可能發(fā)生的事件分別授權(quán)給不同的事件處理者來處理。比如在Canvas對象上既可能發(fā)生鼠標(biāo)事件,也可能發(fā)生鍵盤事件,該Canvas對象就可以授權(quán)給事件處理者一來處理鼠標(biāo)事件,同時(shí)授權(quán)給事件處理者二來處理鍵盤事件。有時(shí)也將事件處理者稱為監(jiān)聽器,主要原因也在于監(jiān)聽器時(shí)刻監(jiān)聽著事件源上所有發(fā)生的事件類型,一旦該事件類型與自己所負(fù)責(zé)處理的事件類型一致,就馬上進(jìn)行處理。授權(quán)模型把事件的處理委托給外部的處理實(shí)體進(jìn)行處理,實(shí)現(xiàn)了將事件源和監(jiān)聽器分開的機(jī)制。事件處理者(監(jiān)聽器)通常是一個(gè)類,該類如果要能夠處理某種類型的事件,就必須實(shí)現(xiàn)與該事件類型相對的接口。例如例5.9中類ButtonHandler之所以能夠處理ActionEvent事件,原因在于它實(shí)現(xiàn)了與ActionEvent事件對應(yīng)的接口ActionListener。每個(gè)事件類都有一個(gè)與之相對應(yīng)的接口。

      將事件源對象和事件處理器(事件監(jiān)聽器)分開。如下圖所示

        
      打個(gè)不太恰當(dāng)?shù)谋扔?,比如說有一位李先生,李先生可能會(huì)發(fā)生很多法律糾紛,可能是民事法律糾紛,也可能是刑事法律糾紛,那么李先生可以請律師,他可以授權(quán)王律師負(fù)責(zé)幫他打民事法律的官司,同時(shí)也可以授權(quán)張律師幫他打刑事法律的官司。這個(gè)請律師的過程從李先生的角度來看,就是授權(quán)的過程,而從王律師和張律師的角度來看,一旦被授權(quán),他們就得時(shí)刻對李先生負(fù)責(zé),"監(jiān)聽"著李先生,一旦發(fā)生民事糾紛了,王律師就要馬上去處理,而一旦發(fā)生刑事糾紛了,張律師就要馬上進(jìn)行處理。此時(shí)此刻,李先生就是事件源,王律師是一個(gè)事件處理者,張律師是另外一個(gè)事件處理者,民事糾紛和刑事糾紛就是不同類型的事件。

    posted on 2006-01-22 12:56 ★yesjoy★ 閱讀(813) 評論(0)  編輯  收藏 所屬分類: java.awt包
    主站蜘蛛池模板: 亚洲av日韩av永久在线观看| 97在线免费视频| 在线播放亚洲第一字幕| 日本xxxx色视频在线观看免费| 亚洲国产美女精品久久久久| 日本免费人成黄页网观看视频| 国产真人无码作爱免费视频 | 亚洲人成人一区二区三区| 免费A级毛片在线播放| 亚洲欧美国产国产一区二区三区| 亚洲精品无码久久久久| 毛片免费在线观看网址| 国产日韩AV免费无码一区二区三区| 亚洲成电影在线观看青青| 久久青青草原亚洲av无码| 国产免费一区二区三区| 国产成人1024精品免费| 亚洲情A成黄在线观看动漫软件 | 亚洲国产成人久久| 亚洲一区精品伊人久久伊人 | 亚洲va久久久噜噜噜久久| 在线免费观看国产视频| 一级毛片免费视频| 国产精品九九久久免费视频 | 国产99视频免费精品是看6| 青青草无码免费一二三区| 添bbb免费观看高清视频| 亚洲一区免费视频| 久久久无码精品亚洲日韩按摩| heyzo亚洲精品日韩| 女人18特级一级毛片免费视频| 国产麻豆成人传媒免费观看| 免费99热在线观看| 无码区日韩特区永久免费系列| 美女被cao网站免费看在线看| 国产精品日本亚洲777| 亚洲人成日本在线观看| 亚洲高清国产AV拍精品青青草原 | 亚洲精品国产字幕久久不卡| 国产精品黄页在线播放免费| 9久9久女女免费精品视频在线观看 |