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

          MXML 文件中實現 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 文件中定義函數調用,比較適合簡單的應用,如

          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 組件方式,更好的封裝實現。下面的例子定義了一個 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 閱讀(287) 評論(0)  編輯  收藏 所屬分類: flex2.0
          主站蜘蛛池模板: 古丈县| 乌兰浩特市| 那坡县| 观塘区| 临沂市| 崇信县| 道真| 平潭县| 芒康县| 兖州市| 韶山市| 三穗县| 灵台县| 电白县| 常宁市| 大宁县| 游戏| 融水| 大悟县| 嘉兴市| 郎溪县| 黎川县| 准格尔旗| 合水县| 开原市| 滦平县| 郑州市| 乳源| 青岛市| 余庆县| 天气| 广丰县| 桃源县| 弥渡县| 宽城| 木里| 介休市| 密云县| 沽源县| 和田县| 巨鹿县|