成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面解析Flex編程模型

開發 后端
在學習Flex的過程中,你可能會遇到Flex編程模型方面的問題,這里向大家簡單介紹一下,希望本文的介紹能讓你有所收獲。

本文和大家重點討論一下Flex編程模型,Flex包含了Flex類庫、MXML和ActionScript編程語言,當然Flex還包括Flex編譯器和調試器,它們并沒有在下圖中示出。

Flex編程模型

Flex包含了Flex類庫、MXML和ActionScript編程語言,如下圖所示:


當然,Flex還包括Flex編譯器和調試器,它們并沒有在圖中示出。

你可以混合MXML和ActionScript來發Flex應用程序。事實上,MXML和ActionScript編程語言都提供了訪問Flex類庫的能力。通常的做法是:使用MXML去定義用戶界面的元素,使用ActionScript去定義客戶端的邏輯并進行控制。

Flex類庫包括了Flex組件、管理器和行為。在基于組件的開發模型下,開發人員可以運用預先做好的組件。

將ActionScript添加到Flex應用程序中

ActionScript可以出色地完成如下任務:

1.處理事件

2.處理錯誤

3.在MXML語句中將數據對象綁定到Flex控件上

4.定制組件

在隨后的例子中,為按鈕控件的點擊事件添加了事件監聽器/eventlistener。當用戶點擊按鈕時,將TextInput控件中的文本拷貝到TextArea控件中。

 

  1. <?xmlversionxmlversion="1.0"?><!--?xml標簽必須位于第一行--> 
  2.  
  3. <!--MXML根元素標簽--><mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  4.  
  5. <!--定義一個面板容器來放置控件--> 
  6.  
  7. <mx:Paneltitlemx:Paneltitle="MyApplication"> 
  8.  
  9. <!--TextInput控件用來進行用戶輸入--><mx:TextInputidmx:TextInputid="myInput"width="150"text=""/> 
  10.  
  11. <!--TextArea控件用來進行輸出--><mx:TextAreaidmx:TextAreaid="myText"text=""width="150"/> 
  12.  
  13. <!--按鈕控件來觸發拷貝--><mx:Buttonidmx:Buttonid="myButton"label="CopyText"  
  14. click="myText.text=myInput.text;"/> 
  15.  
  16. </mx:Panel></mx:Application> 
  17.  

 前面的例子是在MXML中直接插入ActionScript代碼。盡管這種技術只需要一兩行ActionScript代碼,但是對于更為復雜的邏輯實現,你就需要在<mx:Script>塊中定義ActionScript,就象如下所示那樣:

  1. <?xmlversionxmlversion="1.0"?><!--?xml標簽必須位于第一行--> 
  2.  
  3. <!--MXML根元素標簽--><mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  4.  
  5. <mx:Script><![CDATA[  
  6.  
  7. //定義一個ActionScript功能函數privatefunctionduplicate():void{myText.text=myInput.text;}  
  8.  
  9. ]]></mx:Script> 
  10.  
  11. <!--定義一個面板容器來放置控件--><mx:Paneltitlemx:Paneltitle="MyApplication"> 
  12.  
  13. <!--TextInput控件用來進行用戶輸入--><mx:TextInputidmx:TextInputid="myInput"width="150"text=""/> 
  14.  
  15. <!--TextArea控件用來進行輸出--><mx:TextAreaidmx:TextAreaid="myText"text=""width="150"/> 
  16.  
  17. <!--按鈕控件來觸發拷貝--><mx:Buttonidmx:Buttonid="myButton"label="CopyText"  
  18. click="duplicate();"/> 
  19.  
  20. </mx:Panel></mx:Application> 
  21.  

 在本例中,你使用ActionScript功能函數來實現了一個事件監聽器。這樣做的好處是使MXML代碼與ActionScript代碼分離,以提供更好的健壯性和靈活性。#p#

使用數據綁定

Flex編程模型提供簡潔的語法來實現組件間的、或與數據模型的綁定。隨后的例子中,在波浪括號/{}里的數值將TextArea控件與TextInput控件的文本屬性聯系起來。當用戶在TextInput控件中輸入文本時,它會自動地拷貝到TextArea控件中去。

  1. <?xmlversionxmlversion="1.0"?><!--?xmltagmuststartinline1column1--> 
  2.  
  3. <!--MXMLrootelementtag.--><mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"> 
  4.  
  5. <!--Flexcontrolsexistinacontainer.DefineaPanelcontainer.  
  6. --><mx:Paneltitlemx:Paneltitle="MyApplication"> 
  7.  
  8. <!--TextInputcontrolforuserinput.--><mx:TextInputidmx:TextInputid="myInput"width="150"text=""/> 
  9.  
  10. <!--OutputTextAreacontrol.--><mx:TextAreaidmx:TextAreaid="myText"text="{myInput.text}"  
  11. width="150"/> 
  12. </mx:Panel></mx:Application> 
  13.  

 使用事件去處理錯誤正如你可以使用事件去實現程序的功能,你也可以使用它們對錯誤進行處理。下面的例子顯示了如何設計一個針對web服務器操作的錯誤事件的監聽器:

 

  1. <mx:Script><![CDATA[  
  2.  
  3. publicfunctionshowErrorDialog(error:String):void{  
  4. //具體功能實現...}  
  5.  
  6. ]]></mx:Script>...<mx:WebServiceidmx:WebServiceid="WeatherService"..."> 
  7.  
  8. <mx:operationnamemx:operationname="getFoo"fault="showErrorDialog(event.fault.faultString);"/> 
  9. </mx:WebService> 
  10.  

 控制應用程序的外觀控制應用程序的外觀,常涉及到如下內容:

1.大小/Sizes,即組件或應用程序的高度和寬度。

2.樣式/Styles,即一組特性,如字體、排列方式、顏色等。它們都是通過層疊樣式(CSS)來進行設置的。

3.皮膚/Skins,即可以進行改變的組件視覺元素。

4.行為/Behaviors,即Flex組件在視覺或聽覺效果方面的變化。

6.視圖狀態/Viewstate可以讓你通過修改它的基礎內容,來改變組件或程序的內容和外觀。

7.變換/Transitions可以讓你定義屏幕上發生改變的視圖狀態。#p#

使用數據服務器

Flex編程模型被設計為可以與許多類型的服務器打交道,從而提供對本地和遠端邏輯的訪問。提供數據訪問的MXML組件被稱之為數據服務器組件/dataservicecomponents。MXML包含了如下幾種類型的數據服務器組件:

1.WebService提供對使用SOAP的web服務器的訪問。

2.HTTPService提供對返回數據的HTTPURLs的訪問。

3.RemoteObject通過使用AML協議提供對Java對象(JavaBeans、EJBs、POJOs)的訪問。該選項目前僅適用于FlexDataServices或MacromediaColdFusionMX7.0.2.

從Flash到Flex

開發一個Flex應用程序與開發一個MacromediaFlashProfessional8程序有所不同,即使兩者都會最終被編譯成SWF文件。FlashProfessional使用了一些概念,如時間軸/Timeline,動畫幀/,圖層/layers來組織和控制程序中的內容。而在Flex中則拋棄了這些內容,轉而使用MXML標簽來設計用戶界面組件和連接數據源。

盡管Flash和Flex的開發模型各不相同,但是Flash仍然是一個非常強大的工具,用來創建定制的組件和視覺方面的資源,然后以外部SWC文件的形式導入到Flex中。

【編輯推薦】

  1. Flex編程模型學習指南
  2. Flex基礎 創建第一個Flex項目
  3. 解析Flex事件執行流程
  4. FlexBuilder3.0與Eclipse3.4的完美結合
  5. 學習筆記 FlexBuilder2.0中如何使用基于Lists的控件 

 

責任編輯:佚名 來源: Adobe.com
相關推薦

2010-08-04 14:15:43

Flex應用程序

2010-07-29 09:31:28

Flex編程模型

2010-06-11 14:46:09

UML模型

2010-07-28 12:58:24

Flex DateCh

2010-08-11 13:46:01

Flex安全沙箱

2010-08-12 15:35:44

Flex事件機制

2010-07-29 09:00:29

Flex彈出窗口

2010-08-02 09:43:00

Flex應用

2025-06-27 07:19:48

2017-04-10 18:34:16

AndroidNotificatio

2010-08-04 13:23:29

Flex事件

2010-08-11 13:28:46

Flex行為

2010-08-13 14:19:44

Flex綁定機制

2010-08-09 11:14:36

Flex事件處理

2010-08-12 09:11:09

Flex彈出窗口

2010-07-28 15:21:01

Flex函數

2024-08-29 08:28:17

2024-03-19 07:00:00

C++編程pragma

2010-07-22 09:25:09

telnet命令

2010-06-24 15:35:04

IPx協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲福利免费 | 一区二区精品视频 | 亚洲精选一区 | 亚洲在线免费 | 久久久www成人免费无遮挡大片 | 国产一级片免费看 | 久久久久成人精品 | 国产a视频 | 无码一区二区三区视频 | 亚洲精品久久久久久一区二区 | 午夜爽爽男女免费观看hd | 国产精品久久久久久影视 | 日产精品久久久一区二区福利 | 欧美一区日韩一区 | 国产精品久久久久无码av | 国产在线一区二区三区 | 在线观看国产精品视频 | 亚洲高清视频一区二区 | 狠狠干狠狠操 | av香港经典三级级 在线 | 日本在线小视频 | 国产不卡视频 | 天天操妹子 | 久久国产精品精品国产色婷婷 | 91丨九色丨国产在线 | 中文字幕 在线观看 | 欧美一区二区三区在线看 | 日本不卡一区 | 亚洲国产一区二区视频 | 日本精品视频一区二区 | 欧美a∨ | 成人在线免费观看av | 成人a免费| 99在线免费观看视频 | www.色午夜.com | 亚洲欧美在线观看视频 | 久久久久久黄 | 精品国产一区二区在线 | 青青久久 | 国产精品亚洲精品 | 欧一区二区 |