問題
在情境中有Alert 組件時如何來控制他的屬性,以及怎麼通過Button 組件與Alert 組件配合使用
解決思路
Aletr 組件是出現一個視窗加一個確定和一個否定按鈕的視窗。可以自訂視窗標籤,文本,按鈕大小和高度的。視窗有四個按鈕可供選擇:Yes,No,Ok和Cancel。你可以通過Alert.yesLabel , Alert.noLabel , Alert.okLabel 和 Alert.cancelLabel四個改變按鈕屬性,但是不能改變按鈕順序。按鈕順序依次是Yes,No,Ok和Cancel。
想要出現Alert組件視窗,一定要通過Alert.show()方法。同時庫中必須有Alert組件
具體步驟
1. 繼續使用1.1中的Button的fla檔案,如果你已經關閉了前面的Button檔案請在電腦中找到該fla檔案開啟
2. 在情境中拖拽一個Alter Component 組件
3.然後在情境中刪除該組件,確保該fla的(Cltr+L)Library裡有這個Alter 組件就可以了
技巧:你也可以不刪除Alert組件,給Alert組件起一個名稱,然後在visible屬性設定為不可見(false)。
提示:Alert 組件在庫中有固定的連結名稱就是Alert
4.情境中沒有了Alter組件怎麼調用了?很容易,Alter組件完全受到代碼的控制,在情境中的action層的第一幀寫下下面的代碼就完全解決了問題
// 載入 Alert class
import mx.controls.Alert;
// 建立一個新的Button目標
myButtonListener = new Object();
// 在myButtonListener目標建立一個新的click事件
myButtonListener.click = function ()
{
// 顯示一個警告視窗
// 警告視窗顯示警告內容“你好,現在跳出了警告視窗!”
// 警告視窗標題顯示“警告提示框”
// 警告視窗顯示“NO”和“CANCEL”提示按鈕
//“NO”為預設按鈕
Alert.show
(
"你好,現在跳出了警告視窗!!",
"警告提示框",
Alert.NO | Alert.CANCEL,
_root, alertHandler,
Alert.NO
);
}
//安排myButtonListener事件
// 載入click於mybutton按鈕
mybutton.addEventListener("click", myButtonListener );
// 建立alert回應
alertHandler = function ( theEvent )
{
// 控制兩個按鈕觸發事件
if (theEvent.detail == Alert.NO)
{
// no 按鈕
trace ("你按下了no按鈕! ");
}
else if (theEvent.detail == Alert.CANCEL)
{
// cancel 按鈕
trace ("你按下了cancel按鈕!");
}
}
提示:
· Alert.show表示當按鈕點擊以後Alert組件跳出
注意:“import mx.controls.Alert”語句是AS 2.0語句表示該AS應用了Flash MX 2004內建的action class ,表示提取庫中的Alest組件
5.測試影片(Ctrl+Enter)按下確定按鈕就會跳出Alert警告視窗
當你按下NO和Cancel按鈕分別會跳出兩個trace資訊
6.有讀者在想如果我想改變跳出視窗的大小該怎麼作了?容易只要在myButtonListener.click 裡加上下列代碼就可以了
// 設定警告視窗按鈕寬度
200Alert.buttonWidth = 200;
// 設定警告視窗按鈕高度
150Alert.buttonHeight = 150;
7.測試影片(Ctrl+Enter)你就會發現警告視窗發生了變化
2Alert.fla
特別提示
Alert組件適用於各類彈出錯誤資訊,提示資訊等等。Alert組件是通過參數成分來設定自己本身。它的上級一定是UIComponet。 如果它是電影修剪,你必須通過AS登記 mx.core 。從此可以看出它完全是繼承了UIComponet。注意窗戶水平地自動地伸展適合資訊本文或被顯示的任何鈕扣。 如果你顯示大量的本文,包括本文的休息線。
注意Alert組件不回應setSize()的方法
特別說明
Alert 類的屬性摘要
方法描述
Alert.buttonHeight指明按鈕高度. 預設為22.
Alert.buttonWidth指明按鈕寬度. 預設為100.
Alert.cancelLabel指定在Cancel按鈕上顯示的文本
Alert.noLabel指定在No按鈕上顯示的文本
Alert.okLabel指定在Ok按鈕上顯示的文本.
Alert.yesLabel指定在Yes按鈕上顯示的文本
Alert 類的事件摘要
方法描述
Alert.click 在按鈕執行個體上方按下滑鼠時進行廣播。