版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
FlexAdobe 第一 Flex是如何工作Flex第一 構(gòu)建并運(yùn)行Flex應(yīng)用程Flex是一個(gè)提供開發(fā)設(shè)計(jì)和運(yùn)行支持的架構(gòu),它可以使開發(fā)人員創(chuàng)建利用Adobe?applications/RIAFlex應(yīng)用程序的典型步驟如下(通常是這樣SWFFlashPlayerFlexFlexAdobe?Flex2framework包含了創(chuàng)建RIA所需要的所有組件,它們是:用于應(yīng)用程序持的數(shù)據(jù)綁定、數(shù)據(jù)格式化、以及有效值驗(yàn)證;事件驅(qū)動(dòng)的開發(fā)模式。Flexframework被包FlexMXML文件,它被作為該程序的主文件。MXML現(xiàn),類似于JavaScriptActionScriptMXML文件中直接進(jìn)行ActionScriptMXML文件中。fontFamily屬性,你可以使用它來(lái)進(jìn)行字體的設(shè)置。樣式的屬性通常有四種方法來(lái)進(jìn)行控制:通過(guò)主題(theme)CSSMXML文件中的樣一些組件被使用來(lái)進(jìn)行數(shù)據(jù)顯示(comboboxdatagrid)的工作。同時(shí),你還可以XMLFlexFlexSWFFlashPlayer下運(yùn)行。當(dāng)一個(gè)源代碼被ActionScript類(Flex精髓的地方之一,即提供從Flex應(yīng)用程序并不需要服務(wù)器端所提供的支持。因此,你可以在你的本地計(jì)算Web服務(wù)的HTML頁(yè)面中發(fā)布給你的用戶。FlexAdobe?FlexDataServices2、ColdFusionFlashRemotingServiceJavaJ2EEServiceB/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用程\h<mx:TextAreatext="SayhellotoFlex!"<mx:Buttonlabel="Close"XML已經(jīng)很熟悉了,就能一眼識(shí)別出這個(gè)例子的格式。MXML代碼的頭兩Flex應(yīng)用程序所有的具體內(nèi)容都被放在<mx:Application>標(biāo)簽對(duì)中。同時(shí),你還可以在FlexTextArea和Buttontextlabel屬性。MXMLmxFlex的設(shè)計(jì)命名空間。第二 連接數(shù)Flex應(yīng)用程序中對(duì)數(shù)據(jù)的操作最重要的事情是:Flex應(yīng)用程序并不直接與一個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接。因此,Adobe?FlexBuilder2沒(méi)有提供直接連接數(shù)據(jù)的工具。你可以MXMLActionScript代碼來(lái)操作和管理數(shù)據(jù)。Flex中,你可以使用幾種方法去操縱和管理數(shù)據(jù),它們大多數(shù)相關(guān)的內(nèi)容已經(jīng)超出XML結(jié)構(gòu)的數(shù)據(jù)進(jìn)行連接。Flex應(yīng)用程序并不直接與一個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接,所以你需要使用某種類型的服務(wù)HTTPService組件從PHP所產(chǎn)生的一個(gè)XMLFlex程序中使用到的數(shù)據(jù)。在與PHP的應(yīng)用中,你將MySQLPHPMySQL數(shù)據(jù)庫(kù)并生成XML這些步驟同樣適合于在其它工作平臺(tái)上生成的數(shù)據(jù)(如ASP.NETJSP等PHPXMLHTTPService組件來(lái)請(qǐng)求獲取數(shù)據(jù),\h\hHTTPServiceIDIDURL或者 dataProvider屬性中(在波浪形的括號(hào)里,它包含<name>Mobile<name>CarFlexHTTPService中向某個(gè)URL發(fā)送一個(gè)請(qǐng)求: \h creationComplete方法添加到應(yīng)用程序標(biāo)簽里后,數(shù)據(jù)會(huì)在運(yùn)行時(shí)進(jìn)行加載并交HTTPService第三節(jié)FlashPlayerFlashPlayer中運(yùn)行的應(yīng)用程序,只有在滿足如下條(proxyServicesFlex應(yīng)用程序提供了一個(gè)完整的代理管理系統(tǒng)。同時(shí),你還可以通過(guò)使用一種web腳本語(yǔ)言,如ColdFusion、JSP、PHPASP來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的代理服務(wù)。crossdomain.xml(跨域策略/cross-domainpolicy)Web服務(wù)器上。crossdomain.xml文件允許位于其它域中的SWF文件對(duì)數(shù)據(jù)源的訪問(wèn)。第四節(jié)FlexFlex應(yīng)用程序的界面布局,就象如下所示:\h<mx:Panellayout="absolute"width="80%"<mx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"<mx:Buttonlabel="Close"right="30"如果樣式/style的屬性值沒(méi)有被指定,它們將由整個(gè)程序中運(yùn)行的主題/theme來(lái)進(jìn)行控\hTextArea{font-size:36px;font-weight:<mx:Panellayout="absolute"width="80%"height="80%"x="122"<mx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"<mx:Buttonlabel="Close"right="30"通過(guò)明確地為TextArea們前面所提到過(guò)的,你還可以通過(guò)修改主題或應(yīng)用新主題、使用一個(gè)外部CSS文件、或者第五 事件和行為的使HTML應(yīng)用程序的原理是由客戶端發(fā)出請(qǐng)求,并從服務(wù)器端得到反應(yīng)。與之不相同的是,F(xiàn)lex應(yīng)用程序是基于事件的/event-based。舉個(gè)例子,當(dāng)用戶單擊一個(gè)按鈕時(shí),便會(huì)觸ID值,如下所示:<mx:Panelid="myPanel"layout="absolute"width="80%"height="80%"x="122"隨后你就可以將行為/behavior<mx:Buttonlabel="Close"right="30"bottom="40"ActionScript功能函數(shù)\hpublicfunctionclose():void{myPanel.visible=false;<mx:Panelid="myPanel"layout="absolute"width="80%"height="80%"x="122"<mx:TextAreatext="SayhellotoFlex!"top="10"bottom="70"left="10"right="30"<mx:Buttonlabel="Close"right="30"bottom="40"click="close();"ActionScriptMXML文件里的<mx:Script>為了從MXML文件中更好地分離出ActionScriptFlexvisiblefalse因而不可見(jiàn)。你還可以通過(guò)<mx:Fade<mx:Panelid="myPanel"layout="absolute"width="80%"第六 在應(yīng)用程序中添加多態(tài)頁(yè)FlexViewStack組件、創(chuàng)建使用視圖狀態(tài)方式、ViewStackMXML文件方式,取決于你想從一個(gè)頁(yè)面到Flex程序的構(gòu)架。第七節(jié)FlexFlex應(yīng)用程序吧。FlexBuilder通過(guò)使用新項(xiàng)目向?qū)?NewFlexProjectWizardFlex(File>New>ProjectFlexMXMLMXML文件的基本元素(上述例子中的頭兩行代碼(AdobeFlex2LanguageReference)去第二 Flex2應(yīng)用程序開發(fā)入FlexFlex基礎(chǔ)理論的相關(guān)教程。FlexFlexRIAs的設(shè)計(jì)產(chǎn)品。RIAsweb應(yīng)用程序帶來(lái)了快速響應(yīng)并且內(nèi)容豐富的桌面軟件,以滿足更有效力的用戶體驗(yàn)。FlexAdobe?Flash?Player9,允許開發(fā)人員無(wú)縫地?cái)U(kuò)FlexFlex產(chǎn)品系列包括了進(jìn)行設(shè)計(jì)、開發(fā)、發(fā)布整套R(shí)IAAdobe?Flex?2Adobe?Flex?Builder?Adobe?Flex?DataServicesAdobe?Flex?ChartingFlashPlayerFlexFlashPlayer9運(yùn)行時(shí)環(huán)境去執(zhí)行客戶端的邏輯,渲染圖形、播放動(dòng)畫、聲音以及視頻。FlashPlayer9提供了對(duì)高性能ActionScript3.0的支持,一如即往地展示了它極具革新技術(shù)的表達(dá)力。FlashPlayer為開發(fā)人員提供了一個(gè)設(shè)計(jì)用戶界面的平臺(tái),無(wú)論是客戶端還是客戶計(jì)算機(jī)上的表現(xiàn)層/presentation-tierFlashPlayer能夠在所有主流的操作系統(tǒng)和瀏覽器上運(yùn)行,F(xiàn)lashPlayer9Flex應(yīng)用程序可以與瀏覽器中所顯示的JavaScript或Ajax或JavaScript庫(kù)一起協(xié)同工作。FlexSoftwareDevelopmentKitFlex系列產(chǎn)品中的核心是FlexSoftwareDevelopmentKitSDK)Flex2SDK是技術(shù)實(shí)Flex系列產(chǎn)品來(lái)創(chuàng)建應(yīng)用程序。Flex2SDK包Flex實(shí)用程序。FlexSDKFlex構(gòu)架類庫(kù)的源代碼,使你可以學(xué)習(xí)這些類的代碼并FlexSDKFlexBuilderFlexDataFlexMXMLActionScript(譯者注:簡(jiǎn)而言這,MXML是用來(lái)進(jìn)行用戶界面布局設(shè)計(jì)的標(biāo)簽語(yǔ)言,ActionScriptFlashPlayer)FlexBuilderFlexBuilderFlexSDKFlexDataServicesFlashPlayer來(lái)開發(fā)應(yīng)用程序的(IDE程序模型、FlexFlexBuilder可以提高開發(fā)小組中所有成員的生產(chǎn)FlexBuilder是建立在Eclipse工作平臺(tái)上的(一種對(duì)于開發(fā)工具的開源平臺(tái))。因此,F(xiàn)lexBuilderEclipse的插件來(lái)進(jìn)行安裝,并且能夠從EclipseFlexBuilder支持可視化的設(shè)計(jì)視圖,它可以使開發(fā)人員或者設(shè)計(jì)人員去布Flex組件,定制它們的外觀,以及如何與用戶進(jìn)行互動(dòng)。FlexDataServicesFlexDataServicesFlex2SDK的功能性。FlexDataServicesservletFlexDataServicesweb應(yīng)用程序。FlexDataServices能夠簡(jiǎn)化操作服務(wù)器上數(shù)據(jù)的編程模式。FlexChartingFlexFlex的構(gòu)架,增加了對(duì)大多數(shù)常用圖表類型的支持,包括條形、FlexFlexRPCHTTPService(HTTPGET或POST請(qǐng)求)WebService(SOAP。FlexDataServicesRPCAMFRemoteObjects。這樣,Java(JavaBeans,EJBs,POJOs)。同時(shí),F(xiàn)lexDataServices/proxyFlexBuilderFlexBuilderFlex打開開發(fā)界面模式,你將看到代碼編輯器,它包括了導(dǎo)航欄/NavigatorviewFlexBuilder為代碼提示/內(nèi)容協(xié)助/ContentAssist(譯者注:內(nèi)容協(xié)助是其英文的直譯,不太好,所以根出完整的提示。請(qǐng)鍵入Control+Space以打開代碼提示。FlexBuilderFlexFlexcanvas、所支持的組件/ComponentsFlex屬性欄/Propertiesviews。Flex每當(dāng)項(xiàng)目資源作出改動(dòng)后,F(xiàn)lexBuilderFlexActionScript3.0第三章FlexFlex第一 創(chuàng)建一個(gè)Flex應(yīng)用程Flex創(chuàng)建一個(gè)應(yīng)用程序時(shí),你使用組件(容器/containers和控件/controls)來(lái)描述用戶的操作界面。例如,容器可以是一個(gè)用來(lái)進(jìn)行數(shù)據(jù)輸入的表格容器,如一個(gè)盒框/Box或一ComboBox控件:FlexMVC為了增強(qiáng)系統(tǒng)的復(fù)用性和可維護(hù)性,應(yīng)該采用具有良好體系架構(gòu)的模型,即Controller(MVCwebFlexSWFHTML頁(yè)面中。webJRun、ColdFusionPHP,它們可以動(dòng)態(tài)地生成頁(yè)面。在這J2EEservlet容器。向一個(gè)J2EEservlet容器發(fā)出請(qǐng)求,如JRun、TomcatWebSphereFlexDataServices。MXML你可以將應(yīng)用程序發(fā)布成一個(gè)編譯好的SWFFlexDataServices的話,\h\h第二 Flex編程模FlexFlex類庫(kù)、MXMLActionScriptMXML和ActionScriptFlexMXML和ActionScript素,使用ActionScript去定義客戶端的邏輯并進(jìn)行控制。ActionScriptFlexTextInputTextArea控件中。<?xmlxml標(biāo)簽必須位于第一行<mx:Application\h<mx:Buttonid="myButton"label="CopyText"MXML中直接插入ActionScript代碼。盡管這種技術(shù)只需要一兩行ActionScript代碼,但是對(duì)于更為復(fù)雜的邏輯實(shí)現(xiàn),你就需要在<mx:Script>塊中定義<?xmlxml標(biāo)簽必須位于第一行<mx:Application\h//ActionScript功能函數(shù)privatefunctionduplicate():void{<mx:Buttonid="myButton"label="CopyText"MXML代碼與ActionScript號(hào)TextArea控件與TextInput控件的文本屬性聯(lián)系起來(lái)。當(dāng)用戶在TextInputTextArea控件中去。<?xml<!--?xmltagmuststartinline1column1--<!--MXMLrootelementtag.--<mx:Application\h<!--Flexcontrolsexistinacontainer.DefineaPanelcontainer.--<!--TextInputcontrolforuserinput.--web服務(wù)器操作的錯(cuò)誤事件的監(jiān)聽(tīng)器://具體功能實(shí)現(xiàn)<mx:operationname="getFoo"視圖狀態(tài)/ViewstateFlexMXML組件被稱之為數(shù)據(jù)服務(wù)器組件/dataservicecomponents。MXML包含WebService提供對(duì)使用SOAPwebHTTPService提供對(duì)返回?cái)?shù)據(jù)的HTTPURLsRemoteObjectAML協(xié)議提供對(duì)Java對(duì)象(JavaBeansEJBs、POJOs)FlexDataServicesMacromediaColdFusionMX7.0.2.FlashFlexMacromediaFlashProfessional8程序有所不同,即使兩者都會(huì)最終被編譯成SWFFlashProfessional/Timeline,動(dòng)畫幀/,圖層/layersFlex中則拋棄了這些內(nèi)容,轉(zhuǎn)而使MXML標(biāo)簽來(lái)設(shè)計(jì)用戶界面組件和連接數(shù)據(jù)源。FlashFlexFlash仍然是一個(gè)非常強(qiáng)大的工具,用來(lái)SWCFlex中。第三節(jié)FlexDataServicesFlexDataServices來(lái)開發(fā)應(yīng)用程序時(shí),就能體會(huì)該數(shù)據(jù)服務(wù)架構(gòu)的強(qiáng)大功能。FlexDataServicesFlexDataServices在Java應(yīng)用服務(wù)器上或Java容器中執(zhí)行,提供如下列所示的強(qiáng)大功FlexFlex數(shù)據(jù)管理服務(wù)/DataManagementService可以讓你開發(fā)出使用分布式數(shù)據(jù)的應(yīng)用程RPC服務(wù)都是基于低層的消息構(gòu)造而建立的,如下圖所示:消息構(gòu)造/messaginginfrastructureFlex應(yīng)用程序連接消息目的地,發(fā)送消息,以如JavaMessageService(JMS)Flex客戶API所組成。FlexFlex中,不再僅僅是出現(xiàn)一些簡(jiǎn)單的數(shù)據(jù)表格,你可以使用各種各樣的圖表形式區(qū)域形圖表/Area氣泡形圖表/Bubble燭形圖表/Candlestick柱形圖表/Column高低開合形圖表/HighLowOpenClose餅形圖表/Pie標(biāo)繪形圖表/PlotCartesianChart控件來(lái)創(chuàng)建定制的圖表。dataProvider或基于列表的數(shù)據(jù)提供器/dataprovider,類似于一維數(shù)組。API。API是類執(zhí)行的一套方法和屬性,F(xiàn)lex組件和數(shù)據(jù)之間創(chuàng)建了一個(gè)抽象的層次。第五 使用MXML是一種XML語(yǔ)言,你可以使用它去布置AdobeFlex應(yīng)用程序的用戶界面。你MXMLHTML很類似,然而,MXML更為結(jié)構(gòu)化,并提供更為SWFFlashPlayer進(jìn)行渲染,它提供比HTML程序更為豐富的和動(dòng)態(tài)World即<mx:Panel>標(biāo)簽和<mx:Label>標(biāo)簽。<mx:Application>是所有Fles應(yīng)用程序的根標(biāo)簽。的內(nèi)容區(qū)域。<mx:Label>Label控件用來(lái)顯示文本。<?xml\h<mx:Paneltitle="MyApplication"paddingTop="10"paddingBottom="10"paddingLeft="10"paddingRight="10">SWF文件,結(jié)果如下所示:MXMLActionScriptAdobeActionScriptFlex應(yīng)用程序的。類庫(kù)包括了組件(容器和控Flex應(yīng)用程序。MXML標(biāo)簽與ActionScript類或類的屬性相對(duì)應(yīng)。FlexMXML標(biāo)簽并編譯成相應(yīng)SWF文件。舉個(gè)例子,F(xiàn)lexActionScript按鈕類/Buttonclass來(lái)定義按鈕控件。在MXMLMXML語(yǔ)句來(lái)創(chuàng)建一個(gè)按鈕控件:<mx:Buttonlabel="Submit"MXMLlabel屬性值。MXML相關(guān)的技術(shù)標(biāo)準(zhǔn)MXM相關(guān)的技術(shù)標(biāo)準(zhǔn)有:事件模型標(biāo)準(zhǔn)。Flex事件模型是文檔對(duì)象模型/DocumentObjectModel(DOM)第三級(jí)事件的一個(gè)子集,該模型是由WorldWideWebConsortium(W3C)起草制定。Flex提供與服務(wù)器交互的MXML標(biāo)簽,遵循了Web服務(wù)描述語(yǔ)言/WebProtocol(SOAP)和超文本傳送協(xié)議/HypertextTransferProtocol(HTTP。JavaFlex提供了與服務(wù)器端Java對(duì)象交互的MXML標(biāo)簽,包括plainoldJavaPJOJaaBansJaaBeas(EJBsHTTPFlexMXML標(biāo)簽去支持標(biāo)準(zhǔn)的HTTPGET和POSTMXMLW3CCascadingStyleSheets(CSS)第六 使用AdobeFlexActionScript去擴(kuò)展應(yīng)用程序的功能性。ActionScriptMXML更為低層的、更細(xì)致的、更為強(qiáng)大的功能。ActionScriptAdobeFlashPlayercoreJavaScript非常類似。ActionScript3.0的特性完全實(shí)現(xiàn)了ECMAScriptforXML(E4X)。MXMLFlex中使用system_classes目錄結(jié)構(gòu)中的全局ActionScriptFlex應(yīng)用程序的邏輯實(shí)現(xiàn)是由ActionScript類,MXML文件,SWF文件,外部組件共FlashPlayer下載SWF文件并在客戶端機(jī)器上進(jìn)行運(yùn)行。子文件變換成一個(gè)單獨(dú)的ActionScriptMXML文件中導(dǎo)入ActionScriptSWF文件中。FlexActionScriptMXML混合在一起。packagepublicclassMyButtonextendsButton{publicfunctionMyButton(){myControlsFlex應(yīng)用程序中引用你定制的按鈕控件,MyApp.mxml文件里,就象這樣:<mx:Application\hcmp命名空間,用它來(lái)放置你定制的組件,然后使用該命名空間MXML標(biāo)簽對(duì)組件進(jìn)行引用。第四章Flex第一節(jié)本節(jié)將向你展示如何使用AdobeFlexBuilderFlex應(yīng)用程序。其FlexBuilder項(xiàng)目的概念。在FlexBuilder中,所有的程序都被包含在項(xiàng)目/projects里。MXML組件文件、ActionScript文件等等。其主要操作步驟有:FlexBuilderFileNewFlexProject,出現(xiàn)新項(xiàng)目向?qū)?NewFlexProjectwizard。Locationoption被選定。默認(rèn)的目錄是C:\DocumentsandSettings\your_user_name\MyDocuments\FlexBuilder2。FlexBuilderLessons文件夾。點(diǎn)擊完成/Finish。FlexBuilder創(chuàng)建好新的項(xiàng)目并在導(dǎo)航視圖中進(jìn)行顯示。SWF文件的輸出目錄,以及主程Lessons.mxml。確定自動(dòng)構(gòu)造選項(xiàng)/automaticbuildoption是打開的,選擇SelectProject>Build\h在這一節(jié)中,你學(xué)習(xí)了在FlexBuilder中如何創(chuàng)建一個(gè)項(xiàng)目,以及如何編譯和運(yùn)用一個(gè)Flex應(yīng)用程序。第二節(jié)FlexHTTPservice來(lái)實(shí)現(xiàn)與ColdFusion文件的交MySQLXMLFlex應(yīng)用程序。blog閱讀器。你使用了被稱之為HTTPService的RPCserviceRSSLabel、DataGrid、TextArea和LinkButton控件上。FlashPlayer中運(yùn)行的應(yīng)用程序,只有在滿足如下webcrossdomain.xml(跨域策略)文件。blogLessonsFile>New>MXMLApplication并創(chuàng)建一個(gè)BlogReader.mxml的文件。將BlogReader.mxmlTitle:BlogReaderWidth:475Height:X:選擇DataGrid控件并設(shè)置相應(yīng)屬性:Id:dgPostsX:X:Label:ReadFullPostX:20SourcebuttonBlogReader.mxml文件MXML代碼:\h<mx:Panelx="10"y="10"width="475"height="400"layout="absolute"title="BlogReader"><mx:DataGridx="20"y="20"id="dgPosts"<mx:LinkButtonx="20"y="225"label="ReadFull保存文件,完成編譯后運(yùn)行。一個(gè)瀏覽器窗口將打開,如下所示。到這一步,應(yīng)用程序還沒(méi)有顯示任何blogHTTPServiceRPCblogblog\h/go/mchotinblog。你HTTPServiceblog的XMLHTTPGET或POST請(qǐng)求,并獲取\huseProxy屬性表明你并不打算在服務(wù)器上使用代理。因?yàn)镸att'sblog上面有crossdomain.xmlFlashPlayer可以訪問(wèn)該服務(wù)器上的遠(yuǎn)程數(shù)據(jù)。URL發(fā)送請(qǐng)求。 \h URLHTTPGETPOSTHTTP回應(yīng)。在本例中,RSSfeed將返回XML數(shù)據(jù)。lastResult對(duì)象的結(jié)構(gòu)反映了XML文檔的結(jié)構(gòu)。otherchildnodesofotherchildnodesof\h\huseProxy="false"/><mx:Panelx="10"y="10"width="475"height="400"layout="absolute"<mx:DataGridx="20"y="20"id="dgPosts"<mx:LinkButtonx="20"y="225"label="ReadFull組裝DataGrid控件 DataGrid中也是重復(fù)的。在第一個(gè)<mx:DataGridColumn>headerTexttitle的子結(jié)點(diǎn)中包含了所需的信息。width<mx:DataGridx="20"y="20"id="dgPosts"width="400"的頭幾行內(nèi)容。在XMLdescription的字<mx:TextAreax="20"y="175"width="400"dgPostsdescriptionhtmlTextHTML格式的文本。TextArea控件中。RSS他們有興趣的話。RSS供給器沒(méi)有提供的信息,可以通過(guò)連接到各個(gè)貼子的URLs來(lái)實(shí)現(xiàn)。XMLitemlink的字段中。你可以創(chuàng)建一個(gè)動(dòng)態(tài)連接來(lái)顯示在DataGrid<mx:LinkButtonx="20"y="225"label="ReadFullLinkButton控件時(shí)被調(diào)用。navigateToURL()URL傳來(lái)的文檔。HTTPServiceRPCservice組件從RSS供給器中獲取數(shù)Label,DataGrid,TextAreaLinkButton控件上。第三節(jié)(laout="absolute"TextInput文本框,你可以將控件錨Flex中,所有的約束都是被設(shè)置為與容器的相對(duì)距離,它們不可能被設(shè)置為相對(duì)于xy坐標(biāo),而不是在容器中拖拉組件。用程序。默認(rèn)地,F(xiàn)lexBuilderApplication標(biāo)簽中的布局屬性設(shè)置為絕對(duì)方式。Layout.mxmlSetAsDefault在MXML編輯器的設(shè)計(jì)模式中,將Label控件和TextInput>FlexCommonandtheLayoutcategoriesofproperties如果你看到的是屬性表格而不是預(yù)覽視圖,請(qǐng)點(diǎn)擊視圖工具條中的標(biāo)準(zhǔn)視圖按鈕在布局中選擇Label控件,并在屬性項(xiàng)中進(jìn)行相應(yīng)的設(shè)置:Text:EmailX:在布局中選擇TextInputTextInput屬性:X:90\h<mx:Labelx="20"y="60"<mx:Labelx="20"y="90"<mx:TextAreax="90"y="90"width="300"<mx:Buttonx="330"y="150"TextInputTextArea控件也會(huì)被攔住一部分。TextInput控件(用來(lái)輸入電子郵件地址的。Flex屬性視圖中,確保Layoutcategoryofproperties是展開的。Layoutcategory中包TextInput控件定義布局約束,在視圖中選擇左/Left:Right:Bottom:拖拉瀏覽器窗體的邊緣使其更大或更小。舉個(gè)例子,如果你使窗體更狹窄,Send按鈕會(huì)向左邊移動(dòng),同時(shí)TextInputTextArea文本框會(huì)變得更加狹窄。如果你使瀏覽器窗體更加寬大,Send按鈕會(huì)向右邊移動(dòng),TextInputTextArea文本框第四節(jié)Flex中,控件是由數(shù)據(jù)提供器來(lái)進(jìn)行組裝的,LessonsFileNewMXMLApplication并創(chuàng)建一個(gè)名ListControl.mxml的文件。將ListControl.mxml文件設(shè)計(jì)為被編譯的默認(rèn)文件,并在關(guān)聯(lián)菜單中選擇SetAsDefaultApplicationfromthecontextmenu。Title:RateCustomerServiceWidth:350Height:X:ID:cbxRatingX:20Label:SendX:140\h<mx:Panelx="10"y="10"width="350"height="200"layout="absolute"title="RateCustomerService"><mx:ComboBoxx="20"y="20"<mx:Buttonx="140"y="20"在本例中,ComboBox控件(cbxRating.value)value<mx:Labelx="20"y="120"text="{cbxRating.value}"波浪括號(hào)({})ComboBox控件的數(shù)值屬性,cbxRating.value綁定Label控件的文本屬性上。換而言之,LableComboBox控件中的所使用一個(gè)對(duì)象組件數(shù)據(jù)來(lái)裝載ComboBox控件。在<mx:Object>label屬性,它包含了在ComboBox<mx:Objectlabel="Satisfied"<mx:Objectlabel="Neutral"第五節(jié)當(dāng)你開發(fā)AdobeFlex應(yīng)用程序時(shí),事件處理/eventhandling是最基本而且最重要的任務(wù)web服務(wù)器調(diào)用的返回而產(chǎn)生。事件還可以由一個(gè)組件的生命周期發(fā)生變化時(shí)你可以使用事件監(jiān)聽(tīng)器eventlisteners來(lái)對(duì)某個(gè)事件作出反應(yīng)。事件監(jiān)聽(tīng)器是你所編寫LessonsFileNewMXMLApplication并創(chuàng)建一個(gè)名Events.mxml的文件。將Events.mxml設(shè)置為被編譯的默認(rèn)文件,并在關(guān)聯(lián)菜單中選擇SetAsDefaultTitle:CurrencyConverterWidth:450Height:X:LabelTextInput控件和一個(gè)按鈕控件到面板容器Label控件,將它的文本屬性設(shè)置為PriceinDollarsID:btnConvertLabel:ConverttoYenLabel控件(TextInput控件下)并進(jìn)行相應(yīng)的設(shè)置:lblResultsid\h<mx:Panelx="20"y="20"width="450"height="150"layout="absolute"title="CurrencyConverter"><mx:Labelx="25"y="37"text="Pricein<mx:Labelx="120"y="65"<mx:Buttonx="290"y="35"label="ConverttoYen"輸入<mx:Script>Enter鍵在代碼中插入標(biāo)publicfunctionconvertCurrency():void{varrate:Number=120;varprice:Number=Number(txtPrice.text);if(isNaN(price)){lblResults.text="Pleaseenteravalid}elseprice=price*lblResults.text="PriceinYen:"+MXML注冊(cè)監(jiān)聽(tīng)器的一種方法是在<mx:Button>click的屬性值。ActionScript去注冊(cè)監(jiān)聽(tīng)器。在設(shè)計(jì)模式下,選擇按鈕控件并在屬性視圖中的OnClick文本框中輸入C(你還可以使用ActionScript將監(jiān)聽(tīng)器與指定的事件相關(guān)聯(lián),如鼠標(biāo)點(diǎn)擊。每當(dāng)事件發(fā)生convertCurrency函數(shù)中聲明了e的事件類型對(duì)象。在<mx:Script>convertCurrency函數(shù)前輸入隨后的代碼:publicfunctioncreateListener():void{publicfunctioncreateListener():void{btnConvert.addEventListener(MouseEvent.CLICK,convertCurrency);publicfunctionconvertCurrency(e:Event):void{varrate:Number=120;varprice:Number=Number(txtPrice.text);if(isNaN(price)){lblResults.text="Pleaseenteravalid}elseprice=price*lblResults.text="PriceinYen:"+\hlayout="absolute"creationComplete="createListener();">MXMLclick屬性來(lái)進(jìn)行關(guān)聯(lián)。在第二種方法中,你使用ActionScript功能函數(shù)來(lái)進(jìn)行關(guān)聯(lián)。第六 使用行AdobeFlex行為使你可以為應(yīng)用程序添加動(dòng)畫和運(yùn)動(dòng),來(lái)對(duì)用戶和編程活動(dòng)作出反應(yīng)。FlexMXML去創(chuàng)建LessonsFile>New>MXMLApplicationBehaviors.mxmlSetAsDefault Height:X:ID:myButtonLabel:ViewX:40在屬性視圖中,點(diǎn)擊工具條中的分類視圖/CategoryView查看屬性,然后找到效果分類/Effectscategory。IDmouseUpEffect觸發(fā)器賦波浪括號(hào)()是必須的,因?yàn)樾Ч鞘褂脭?shù)據(jù)綁定來(lái)分配給它們的觸發(fā)器的。Flex事件去調(diào)用效果。這樣就可以使同一種效果為不TextArea控件播放淡1.在設(shè)計(jì)模式中,在查看/ViewLabel控件,并設(shè)置相應(yīng)的屬性:ID:myLabelText:48151623X:<mx:Blurid="numbersBlur"<mx:Blurid="numbersBlur"target="{myLabel}"blurYFrom="10.0"blurYTo="0.0"blurXFrom="10.0"blurXTo="0.0"<mx:Buttonid="myButton"x="40"y="60"label="View"mouseUpEffect="{buttonGlow}"numbersBlurmyLabellabel而非<mx:Labelid="myLabel"x="40"y="100"text="4815162342"visible="false"<mx:Buttonid="myButton"x="40"y="60"label="View"mouseUpEffect="{buttonGlow}"click="numbersBlur.play();myLabel.visible=true;"/>當(dāng)用戶點(diǎn)擊按鈕時(shí),綠色漸變效果開始播放,Label控件變得可見(jiàn)。Behaviors.mxml文件中輸入如下代碼:\h<mx:Glowid="buttonGlow"color="0x99FF66"alphaFrom="1.0"alphaTo="0.3"<mx:Blurid="numbersBlur"target="{myLabel}"blurYFrom="10.0"blurYTo="0.0"blurXFrom="10.0"blurXTo="0.0"duration="2000"/><mx:Panelx="10"y="10"width="200"height="300"<mx:Buttonx="40"y="60"label="View"id="myButton"<mx:Labelx="40"y="100"text="4815162342"id="myLabel"Label20個(gè)象素。也就是說(shuō),你可以將綠Flex提供將超過(guò)一種的多種效果組合起來(lái)的能力。你可以使用<mx:Parallel>標(biāo)簽或<mx:Parallel并行組合的效果名稱為BlurMoveShow在代碼中選擇整個(gè)<mx:Blur>標(biāo)簽,然后粘貼到<mx:Parallel>在<mx:Blur>target="{myLabel}"屬性,然后將它移動(dòng)到<mx:Parallel>標(biāo)myLabel<mx:Moveid="numbersMoveyBy="20"duration="2000"Label20個(gè)象素。<mx:Blurid="numbersBlur"<mx:Moveid="numbersMove"yBy="20"duration="2000"在<mx:Button>BlurMoveShownumbersBlur效果來(lái)響應(yīng)點(diǎn)<mx:Buttonid="myButton"x="40"y="60"label="View"mouseUpEffect="{buttonGlow}"click="BlurMoveShow.play();myLabel.visible=true;"/>第七節(jié)你可以在AdobeFlex視圖狀態(tài)/viewstatesMXML程序或組件定義的布局命名。你可以為一個(gè)程備注:當(dāng)然,你還可以使用ViewStack變換/transition是當(dāng)一個(gè)視圖狀態(tài)發(fā)生變化時(shí)成組播放的幾種效果。變換的目的是使視LessonsFileNewMXMLApplication并創(chuàng)建一個(gè)名叫ViewStates.mxml的文件。SetAsDefaultApplication。添中到ViewStates.mxml文件里。Height:X:選擇面板中的Label控件,并進(jìn)行相應(yīng)的屬性設(shè)置:Text:SearchX:X:Label:GoX:185Label:AdvancedOptionsX:20\h<mx:Panelx="5"y="5"width="300"height="400"<mx:Labelx="20"y="70"<mx:Buttonx="185"y="90"<mx:LinkButtonx="20"y="120"label="AdvancedFlexBuilderMXML代碼。AdvancedSearchlinkVBox容器,為出現(xiàn)的對(duì)話框指16080,并設(shè)置相應(yīng)的屬性:ID:myVBoxX:20CheckBoxVBox容器。VBox容器會(huì)自動(dòng)地縱向排列控件。選擇VBox容器中的第一個(gè)CheckBox控件,將它的標(biāo)簽屬性值設(shè)置為RegularCheckBoxExactPhrase。<mx:State<mx:VBoxx="20"y="160"width="160"height="80"<mx:CheckBoxlabel="Regular<mx:CheckBoxlabel="Case<mx:CheckBoxlabel="ExactLink當(dāng)你在這一步選擇基礎(chǔ)狀態(tài)時(shí),MXMLCheckBox控件,因LinkButtonOnClick文本框中輸入如下數(shù)值:LinkButton控件時(shí),應(yīng)用程序從當(dāng)前狀態(tài)變換成高級(jí)查看check框。LinkButtoncheck框,并恢復(fù)到基礎(chǔ)myTransition(你可以在<mx:transitions>標(biāo)簽中定義代碼還確定,當(dāng)應(yīng)用程序從任何視圖狀態(tài)(fromState="*")變換成高級(jí)查看狀態(tài)<mx:Parallel<mx:Parallel<mx:Parallel第八 創(chuàng)建定制的組MXML組件可以簡(jiǎn)化構(gòu)造復(fù)雜程序的過(guò)程。將程序劃分為便于管理的塊,你MXML應(yīng)用程序文件去測(cè)試它。LessonsFile>New>MXMLApplicationMain.mxmlSetAsDefaultApplication。在MXML編輯器設(shè)計(jì)模式下,將組件視圖中布局分類里的面板容器,拖拉到Main.mxml文件中的面板容器,進(jìn)行相應(yīng)的屬性設(shè)置:Title:MainApplicationWindowHeight:X:LessonsNewFolder。myComponents并點(diǎn)擊完成。FlexBuilder創(chuàng)建一個(gè)名叫myComponents的子目錄。myComponentsFile>New>MXMLComponent。MXMLLessons/myComponents文件夾設(shè)置為定制組件的默認(rèn)文你想要擴(kuò)展面板/panel組件。FlexBuilder創(chuàng)建并保存LoginBox.mxml文件到myComponentsMXMLLoginBox組件,你希望在布局中包括用戶名和密碼框,以及一個(gè)提交/submit按鈕。Title:MemberLoginWidth:275Height:Label控件右邊插入兩個(gè)TextInputLabel控件,并將它的文本屬性值設(shè)為Password \h height="150"title="MemberLogin"><mx:Labelx="10"y="12"<mx:Labelx="10"y="42"<mx:TextInputx="74"y="40"id="txtPwd"<mx:Buttonx="178"y="70"LoginBox組件,當(dāng)LoginLabelandleLoginEent(privatefunctionhandleLoginEvent():void{lblTest.text="loggingin...";//login \h height="150"title="MemberLogin">privatefunctionhandleLoginEvent():void{lblTest.text="loggingin...";//login<mx:Labelx="10"y="12"<mx:Labelx="10"y="42"<mx:TextInputx="74"y="40"id="txtPwd"<mx:Buttonx="178"y="70"label="Login"<mx:Labelx="74"y="72"X:\hlayout="absolute"xmlns:ns1="myComponents.*"><mx:Panelx="20"y="20"width="375"height="300"layout="absolute"title="MainApplicationWindow"><ns1:LoginBoxx="400"LoginBoxMXML文件中Login"loggingin..."將出現(xiàn)在Login按第九 使用Web服為了在應(yīng)用程序中使用數(shù)據(jù)庫(kù),AdobeFlexwebservices,HTTPserversremoteobject
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安裝工程的課程設(shè)計(jì)
- 2025漢中洋縣農(nóng)業(yè)技術(shù)推廣服務(wù)中心農(nóng)技員招募(20人以上)模擬筆試試題及答案解析
- 2025山東濱州醫(yī)學(xué)院煙臺(tái)附屬醫(yī)院高級(jí)專業(yè)技術(shù)崗位招聘1人考試重點(diǎn)試題及答案解析
- 2025年影視制作技術(shù)五年革新報(bào)告
- 2025浙江杭州市蕭山區(qū)機(jī)關(guān)事業(yè)單位第三次招聘編外人員35人考試核心題庫(kù)及答案解析
- 2025江蘇蘇州市公交集團(tuán)有限公司管理崗位(應(yīng)屆生)招聘7人參考考試試題及答案解析
- 2025年法律科技五年投資機(jī)會(huì)分析報(bào)告
- 超硬材料產(chǎn)業(yè)技術(shù)研究院公開招聘第二批科研人員20人備考題庫(kù)完整答案詳解
- 2025-2026 學(xué)年八年級(jí) 歷史 期末沖刺卷 試卷及答案
- 2025年日用陶瓷釉料創(chuàng)新趨勢(shì)行業(yè)報(bào)告
- 2025天津?yàn)I海新區(qū)建設(shè)投資集團(tuán)招聘27人模擬筆試試題及答案解析
- 2026民航招飛心理測(cè)試題目及答案
- 醫(yī)院收款員筆試題及答案
- 調(diào)色制作合同范本
- 2025年陜西岳文投資有限責(zé)任公司社會(huì)招聘參考模擬試題及答案解析
- 單人徒手心肺復(fù)蘇操作評(píng)分表(醫(yī)院考核標(biāo)準(zhǔn)版)
- 國(guó)家預(yù)算實(shí)驗(yàn)報(bào)告
- 蒸汽品質(zhì)檢測(cè)儀安全操作規(guī)定
- 附件1:中國(guó)聯(lián)通動(dòng)環(huán)監(jiān)控系統(tǒng)B接口技術(shù)規(guī)范(V3.0)
- 閉合性顱腦損傷病人護(hù)理查房
- 《立血康軟膠囊研究6400字(論文)》
評(píng)論
0/150
提交評(píng)論