溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Flex事件處理流程的示例分析

發(fā)布時(shí)間:2021-12-14 14:20:46 來(lái)源:億速云 閱讀:136 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Flex事件處理流程的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Flex事件處理

軟件開發(fā)者在開發(fā)過(guò)程中只關(guān)注某個(gè)組件響應(yīng)某個(gè)事件后所做的操作,即被驅(qū)動(dòng)的操作,而不用像結(jié)構(gòu)化線形開發(fā)那樣去關(guān)注驅(qū)動(dòng)事件的動(dòng)作。響應(yīng)特定事件的組件叫做事件監(jiān)聽器(EventListener)。

一個(gè)用于交互的GUI組件會(huì)被預(yù)先定義它可能遇到的事件,軟件開發(fā)者即可根據(jù)開發(fā)需求來(lái)編寫事件監(jiān)聽器,響應(yīng)部分或全部的事件觸發(fā),圖1.7展示了這個(gè)觸發(fā)過(guò)程。作為開發(fā)者,我們首先需要了解特定的GUI交互組件支持哪些事件,之后便可以根據(jù)需求寫出相應(yīng)的事件監(jiān)聽器。

圖1.7GUI系統(tǒng)中的Flex事件處理流程

Flex事件處理流程的示例分析

在示例1.2和示例1.3中,我們已經(jīng)使用到了Flex的事件機(jī)制,F(xiàn)lex開發(fā)基于ActionScipt對(duì)象,事件已經(jīng)作為Flex可視化組件的屬性。我們可以在MXML中直接為組件的事件屬性設(shè)定事件監(jiān)聽方法或者代碼。

在示例1.2中,我們?cè)O(shè)定<mx:Button>的單擊事件(click)屬性為click=“changeText()”,并寫了一個(gè)changeText方法作為單擊事件的監(jiān)聽器。這樣,當(dāng)單擊Button的時(shí)候,就會(huì)觸發(fā)Button的click事件,changeText方法將被調(diào)用。而在示例1.3中,我們把ActionScript腳本直接復(fù)制給了click,這樣整個(gè)腳本將作為一個(gè)事件監(jiān)聽器。Flex可視化組件開發(fā)的事件處理方式與HTML頁(yè)面開發(fā)中的JavaScript腳本使用是非常相似的。

Flex事件處理中如果我們需要在事件監(jiān)聽器中處理事件源,即產(chǎn)生事件的組件,那么需要為事件監(jiān)聽的方法傳遞參數(shù)event,例如可以對(duì)示例1.2中事件監(jiān)聽方法的定義和<mx:Button>的事件屬性做一些修改。

(1)事件監(jiān)聽方法定義的修改:

publicfunctionchangeText(event:Event):void

(2)Button事件屬性的修改:

<mx:Buttonlabelmx:Buttonlabel="點(diǎn)擊這里"fontSize="16"click="changeText(event)"/>


在Button事件屬性的修改中,event作為一個(gè)關(guān)鍵字來(lái)使用,而非自定義變量,因此我們可以在標(biāo)簽中直接使用event來(lái)創(chuàng)建當(dāng)前組件所觸發(fā)的事件對(duì)象。

ActionScript類Event構(gòu)建的時(shí)候會(huì)把事件源組件作為一個(gè)成員屬性,這樣在事件監(jiān)聽器中,我們可以通過(guò)event來(lái)操作事件源組件。

在MXML中設(shè)定事件屬性值的方式叫做事件監(jiān)聽器內(nèi)建。這種方式適合應(yīng)用在簡(jiǎn)單的事件處理上。如果遇到需要多個(gè)事件監(jiān)聽器聯(lián)合使用等復(fù)雜的事件處理情況,則需要應(yīng)用Flex的事件注冊(cè)。

以上是“Flex事件處理流程的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI