📄 currencyconverter.as
字号:
import mx.controls.*;class org.moock.tools.CurrencyConverter { // 替這個範例手動設定一些貨幣兌換匯率。 private static var rateUS:Number = 1.3205; // 美金的兌換匯率 private static var rateUK:Number = 2.1996; // 英鎊的兌換匯率 private static var rateEU:Number = 1.5600; // 歐元的兌換匯率 // 容納所有UI元素的影片片段 private var converter_mc:MovieClip; // 使用者介面組件 private var input:TextInput; // 原始金額的文字欄位 private var currencyPicker:ComboBox; // 貨幣單位選單 private var result:TextArea; // 輸出轉換結果的欄位 /** * CurrencyConverter建構子 * * @param target 將要附加converter_mc的影片片段。 * @param depth 在目標影片片段中,附加converter_mc的 * 深度值。 * @param x converter_mc的水平座標。 * @param y converter_mc的垂直座標。 */ public function CurrencyConverter (target:MovieClip, depth:Number, x:Number, y:Number) { buildConverter(target, depth, x, y); } /** * 建立貨幣兌換機的使用者介面, * 並定義介面的事件程式。 */ public function buildConverter (target:MovieClip, depth:Number, x:Number, y:Number):Void { // 替巢狀函數儲存指向當前物件的參考。 var thisConverter:CurrencyConverter = this; // 建立一個容納貨幣兌換機的操作介面的影片片段。 converter_mc = target.createEmptyMovieClip("converter", depth); converter_mc._x = x; converter_mc._y = y; // 建立標題欄位 var title:Label = converter_mc.createClassObject(Label, "title", 0); title.autoSize = "left"; title.text = "加拿大貨幣兌換機"; title.setStyle("color", 0x770000); title.setStyle("fontSize", 16); // 建立操作說明欄位。 var instructions:Label = converter_mc.createClassObject(Label, "instructions", 1); instructions.autoSize = "left"; instructions.text = "請輸入加幣的金額"; instructions.move(instructions.x, title.y + title.height + 5); // 建立一個讓用戶輸入金額的輸入文字欄位。 input = converter_mc.createClassObject(TextInput, "input", 2); input.setSize(200, 25); input.move(input.x, instructions.y + instructions.height); input.restrict = "0-9."; // 透過一個通用的偵聽器物件來處理這個組件的enter事件。 var enterHandler:Object = new Object(); enterHandler.enter = function (e:Object):Void { thisConverter.convert(); } input.addEventListener("enter", enterHandler); // 建立選擇貨幣單位的ComboBox介面。 currencyPicker = converter_mc.createClassObject(ComboBox, "picker", 3); currencyPicker.setSize(200, currencyPicker.height); currencyPicker.move(currencyPicker.x, input.y + input.height + 10); currencyPicker.dataProvider = [ {label:"請選擇目標貨幣單位", data:null}, {label:"加幣兌換美金", data:"US"}, {label:"加幣兌換英鎊", data:"UK"}, {label:"加幣兌換歐元", data:"EU"}]; // 建立貨幣兌換鈕。 var convertButton:Button = converter_mc.createClassObject(Button, "convertButton", 4); convertButton.move(currencyPicker.x + currencyPicker.width + 5, currencyPicker.y); convertButton.label = "轉換!"; // 透過底下的函數處理這個組件的事件。 // 我們將在下文「處理組件事件」一節說明, // Macromedia並不建議使用這個技巧。 convertButton.clickHandler = function (e:Object):Void { thisConverter.convert(); }; // 建立轉換結果的輸出欄位。 result = converter_mc.createClassObject(TextArea, "result", 5); result.setSize(200, 25); result.move(result.x, currencyPicker.y + currencyPicker.height + 10); result.editable = false; } /** * 將用戶輸入的加幣金額,轉換成對應的貨幣單位的金額。 */ public function convert ():Void { var convertedAmount:Number; var origAmount:Number = parseFloat(input.text); if (!isNaN(origAmount)) { if (currencyPicker.selectedItem.data != null) { switch (currencyPicker.selectedItem.data) { case "US": convertedAmount = origAmount / CurrencyConverter.rateUS; break; case "UK": convertedAmount = origAmount / CurrencyConverter.rateUK; break; case "EU": convertedAmount = origAmount / CurrencyConverter.rateEU; break; } result.text = "結果:" + convertedAmount; } else { result.text = "請選擇一個貨幣單位。"; } } else { result.text = "輸入值有誤。"; } } // 程式的執行起點 public static function main (target:MovieClip, depth:Number, x:Number, y:Number):Void { var converter:CurrencyConverter = new CurrencyConverter(target, depth, x, y); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -