您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何使用Flex彈出窗口,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Flex中的彈出窗口
最近修改項目的時候又了解了一些關于Flex中彈出窗口的東西,發現這個東西很有用。Flex中有兩種彈出窗口:
1.最簡單的警告窗口
你需要先導入Alert類:importmx.controls.Alert;
然后在想要彈出警告的時候使用:Alert.show(“你確定要退出系統嗎?”,“確認”,Alert.YES|Alert.NO,null,logout)
參數說明:***個參數是要顯示的文本,第二個參數是窗口的標題,這兩個參數是最經常用的。第三個參數是按鈕,默認是兩個:YEW和NO,當然你也可以自定義,比如Alert.CANCEL,第四個參數是父窗口,默認為null。第五個參數是窗口關閉后調用的函數名,如果你想要在點擊確定之后觸發什么事件,就需要定義這個參數。這里我要調用logout,請注意,不要在這里寫logout()。(沒有括號)logout函數如下:
privatefunctionlogout(event:CloseEvent):void { if(event.detail==Alert.YES) { //具體操作 } }
因為這個函數是觸發的,所以參數是一個CloseEvent。“event.detail==Alert.YES”這行代碼判斷點擊的是不是確定按鈕。CloseEvent中的detail屬性專門判斷點擊了哪個按鈕,這樣就可以用戶的點擊控制代碼。
簡單的Alert用法就是這樣,更多相關信息請看幫助文檔。
2.Flex彈出窗口
這個就比較強大了,需要使用一個類,那就是PopUpManager,同樣,使用前你需要先導入:
importmx.managers.PopUpManager;
然后你就要創建一個Compoment作為Flex彈出窗口,這個沒什么特別的,創建一個普通的Compoment就行,這里我創建了一個文件叫做PopWindow,就是一個簡單的Canvas,里面就放一個圖片。代碼如下:
PopWindow.mxml:
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Canvasxmlns:mxmx:Canvasxmlns:mx="http://www.adobe.com/2006/mxml" width="100"height="100"> <mx:Script> <![CDATA[ importmx.managers.PopUpManager; ]]> mx:Script> <mx:Imagexmx:Imagex="0"y="0"source="assets/face.PNG" click="PopUpManager.removePopUp(this)"width="90"height="82"/> mx:Canvas>
其中removePopUp是PopUpManager的一個方法,就是移除當前彈出的窗口,這里我設置了點擊圖片的時候就移除Flex彈出窗口。接下來我們在主程序中創建并彈出窗口:
varpop:PopWindow=PopWindow(PopUpManager.createPopUp(this,PopWindow,true));
這就完成了,這個pop是一個PopWindow(就是剛才創建的Component的文件名)類型的變量,由于PopUpManager的createPopUp返回的是一個IFlexDisplayObject,你需要將其強制轉換成為PopWindow類型才能賦值給pop變量。
◆下面詳細說明一下createPopUp的這幾個參數:
***個參數是Flex彈出窗口的父窗體,這個相信大家都明白。
第二個參數是Flex彈出窗口的類名,也就是組件的文件名,在Flex中一個MXML文件也對應一個類。PopUpManager是根據這個類來創建彈出對話框。
第三個參數是模態標記。如果是true,就創建一個模態對話框;否則創建的就是一個非模態的對話框。
PopUpManager還有一個參數,不過不常用,具體請參考幫助文檔。
然后你就可以對彈出對話框操作了,想要移除就用removePopUp(pop)。另外,如果是非模態的,可能在點擊程序其它部分的時候窗口就不見了,但是它并沒有移除,怎么讓它出來呢?這個時候就需要PopUpManager的另外一個方法:bringToFront(),這個方法可以把窗口放到最前。你可以控制,讓程序***次的時候是創建對話框,以后就是把窗口放到最前。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用Flex彈出窗口”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。