【永恒的瞬間】
          ?Give me hapy ?

          MXML 文件中實現(xiàn) ActionScript 邏輯的幾種方法:
          最簡單的方法,在一個 MXML 文件中通過組件的事件直接書寫簡單的邏輯控制,但是并不推薦。

          1. < mx : Application ? xmlns : mx = 'http://www.macromedia.com/2003/mxml' >

          2. < mx : Panel ? title = 'My ? Application' ? > ?

          3. < mx : HBox > ?

          4. < mx : Label ? text = 'Temperature ? in ? Farenheit:' /> ?

          5. < mx : TextInput ? id = 'farenheit' ? width = '120' /> ?

          6. < mx : Button ? label = 'Convert' ? click = 'celsius.text=(farenheit.text-32)/1.8;' ? /> ?

          7. < mx : Label ? text = 'Temperature ? in ? Celsius:' /> ?

          8. < mx : Label ? id = 'celsius' ? width = '120' ? fontSize = '48' /> ?

          9. </ mx : HBox >

          10.? </ mx : Panel >

          11.? </ mx : Application >


          第二種,在 MXML 文件中定義函數(shù)調(diào)用,比較適合簡單的應用,如

          1. < mx : Application ? xmlns : mx = 'http://www.macromedia.com/2003/mxml' > ?

          2. < mx : Script > ?

          3. <![ CDATA [ ?

          4. function ? calculate () ? { ? ?

          5. celsius . text =( farenheit . text - 32 )/ 1.8 ; ?

          6. ? } ?

          7. ]]> ?

          8. </ mx : Script >
          ?

          9. < mx : Panel ? title = 'My ? Application' ? >

          10.? < mx : HBox >

          11.? < mx : Label ? text = 'Temperature ? in ? Farenheit:' />

          12.? < mx : TextInput ? id = 'farenheit' ? width = '120' />

          13.? < mx : Button ? label = 'Convert' ? click = 'calculate();' ? />

          14.? < mx : Label ? text = 'Temperature ? in ? Celsius:' />

          15.? < mx : Label ? id = 'celsius' ? width = '120' ? fontSize = '48' />

          16.? </ mx : HBox >

          17.? </ mx : Panel >

          18.? </ mx : Application >



          第三種,把 MXML 文件和腳本文件分開,便于項目管理

          1. < mx : Application ? xmlns : mx = 'http://www.macromedia.com/2003/mxml' > ?

          2. <!-- ? Specify ? the ? ActionScript ? file ? containing ? the ? function. ? --> ?

          3. < mx : Script ? source = 'sample3script.as' /> ?

          4. < mx : Panel ? title = 'My ? Application' ? > ?

          5. < mx : HBox > ?

          6. < mx : Label ? text = 'Temperature ? in ? Farenheit:' /> ?

          7. < mx : TextInput ? id = 'farenheit' ? width = '120' /> ?

          8. < mx : Button ? label = 'Convert' ? click = 'calculate();' ? /> ?

          9. < mx : Label ? text = 'Temperature ? in ? Celsius:' />

          10.? < mx : Label ? id = 'celsius' ? width = '120' ? fontSize = '48' />

          11.? </ mx : HBox >

          12.? </ mx : Panel >

          13.? </ mx : Application >


          sample.as
          文件代碼如下
          function ? calculate () ? { ?

          2. celsius . text =( farenheit . text - 32 )/ 1.8 ;
          3. ? }


          第四種,使用 MXML 組件方式,更好的封裝實現(xiàn)。下面的例子定義了一個 tempConverter 組件

          1. < mx : Application ? xmlns : mx = 'http://www.macromedia.com/2003/mxml'
          ?

          2. initialize = 'converter.setupListener()' > ?

          3. < local : TempConverter ? id = 'converter' ? xmlns : local = '*' /> ?

          4. < mx : Panel ? title = 'My ? Application' ? > ?

          5. < mx : HBox > ?

          6. < mx : Label ? text = 'Temperature ? in ? Farenheit:' ? /> ?

          7. < mx : TextInput ? id = 'farenheit' ? width = '120' ? /> ?

          8. < mx : Button ? id = 'myButton' ? label = 'Convert' ? /> ?

          9. < mx : Label ? text = 'Temperature ? in ? Celsius:' ? />

          10.? < mx : Label ? id = 'celsius' ? width = '120' ? fontSize = '24' ? />

          11.? </ mx : HBox >

          12.? </ mx : Panel >

          13.? </ mx : Application >

          TempConverter.as 文件代碼如下:

          ?

          1. class ? TempConverter ? implements ? mx . core . MXMLObject { ? ?

          2. public ? var ? view ; ?

          3. function ? initialized ( doc ? : ? Object , ? id ? : ? String ) ? : ? Void ? { ? ?

          4. view ? = ? doc ; ?

          5. ? } ?

          6. function ? setupListener () ? : ? Void ? { ? ?

          7. view . myButton . addEventListener ( 'click' , ? this ); ?

          8. ? } ?

          9. function ? click ( event ) ? { ?

          10.? view . celsius . text =( view . farenheit . text - 32 )/ 1.8 ;

          11.? ? }

          12.? ? }

          posted on 2007-01-12 12:01 ???MengChuChen 閱讀(288) 評論(0)  編輯  收藏 所屬分類: flex2.0
          主站蜘蛛池模板: 普陀区| 蒙自县| 巴彦县| 临武县| 奈曼旗| 弥勒县| 隆安县| 大田县| 齐齐哈尔市| 侯马市| 怀来县| 监利县| 吉林省| 宁南县| 香河县| 昌乐县| 昭觉县| 个旧市| 巴塘县| 白银市| 昭苏县| 隆尧县| 汉川市| 应城市| 孙吴县| 新疆| 阿鲁科尔沁旗| 大邑县| 泰宁县| 乌拉特前旗| 阳城县| 本溪| 民勤县| 辽宁省| 文山县| 富裕县| 会东县| 峨边| 缙云县| 苗栗县| 乌兰察布市|