More Related Content Similar to Adobe Flex константин ковалев Similar to Adobe Flex константин ковалев (20) More from Media Gorod (20) Adobe Flex константин ковалев1. Adobe Flex Новая технология для создания RIA на базе Flash- платформы Константин Ковалев RIA- разработчик http://www.riapriority.com/ [email_address] 15. MXML : что проще? public class MyApp extends mx.core.Application { p rivate var myText:TextArea; p rivate var myButton:Button; public function MyApp(){ layout = "vertical" ; myText = new TextArea (); addChild(myText) ; myText.editable = false ; myText.width = 300; myText.height = 200; myButton = new Button (); addChild(myButton) ; myButton.label = "Нажми меня!" ; m yButton.addEventListener( "click" , onButtonClick); } private function onButtonClick (event:MouseEvent): void { myText.text += 'Еще раз' } } <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> <mx:TextArea editable="false" id="myText" width="300" height="200" /> <mx:Button id="myButton" label="Нажми меня!" click="myText.text += 'Еще раз' " /> </mx:Application> VS 16. MXML : расширяемость <?xml version="1.0" encoding="utf-8"?> <!-- com.riapriority.rit2007.CityList.mxml --> <mx:ComboBox dataProvider="{cityList}" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:ArrayCollection id="cityList"> <mx:String>Москва</mx:String> <mx:String>Санкт-Петербург</mx:String> <mx:String>Новосибирск</mx:String> <mx:String>Владивосток</mx:String> </mx:ArrayCollection> </mx:ComboBox> Компонент: Приложение: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rit2007="com.riapriority.rit2007.*" layout="vertical"> <rit2007:CityList /> </mx:Application> 17. MXML : data binding <?xml version="1.0" encoding="utf-8"?> <!-- com.riapriority.rit2007.CityList.mxml --> <mx:ComboBox dataProvider="{cityList}" creationComplete= "dispatchEvent( new Event ( 'change' ))" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ [Bindable (event="change")] public function get currentCity ():String { return selectedItem as String; } ]]> </mx:Script> <mx:ArrayCollection id="cityList"> <mx:String>Москва</mx:String> <mx:String>Санкт-Петербург</mx:String> <mx:String>Новосибирск</mx:String> <mx:String>Владивосток</mx:String> </mx:ArrayCollection> </mx:ComboBox> Компонент: Приложение: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rit2007="com.riapriority.rit2007.*" layout="vertical"> <rit2007:CityList id="cityList" /> <mx:Label text="{cityList.currentCity}" /> </mx:Application> 18. MXML : модульность <?xml version="1.0" encoding="utf-8"?> <!-- com.riapriority.rit2007.CityList.mxml --> <mx:ComboBox dataProvider="{cityList}" creationComplete= "dispatchEvent( new Event ( 'change' ))" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rit2007="com.riapriority.rit2007.*"> <mx:Script> <![CDATA[ [ Bindable (event= "change" )] public function get currentCity ():String { return selectedItem as String; } ]]> </mx:Script> <rit2007:CityListData id="cityList" /> </mx:ComboBox> Компонент: Подкомпонент: <?xml version="1.0" encoding="utf-8"?> <mx:ArrayCollection xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:source> <mx:String>Москва</mx:String> <mx:String>Санкт-Петербург</mx:String> <mx:String>Новосибирск</mx:String> <mx:String>Владивосток</mx:String> </mx:source> </mx:ArrayCollection> 19. MXML : события <?xml version="1.0" encoding="utf-8"?> <!-- com.riapriority.rit2007.CityList.mxml --> <mx:ComboBox dataProvider="{cityList}" creationComplete=" on Change()" change=" on Change()" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rit2007="com.riapriority.rit2007.*"> <mx:Metadata> [Event (name="cityChange", type="flash.events.Event")] </mx:Metadata> <mx:Script><![CDATA[ private function on Change (): void { dispatchEvent(new Event ("cityChange"));} [ Bindable (event= "cityChange" )] public function get currentCity ():String { return selectedItem as String; }]]></mx:Script> <rit2007:CityListData id="cityList" /> </mx:ComboBox> Компонент: Приложение: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rit2007="com.riapriority.rit2007.*" layout="vertical"> <mx:Label id="cityLabel" text="{cityList.currentCity}" /> <rit2007:CityList id="cityList" cityChange="labelBlur.play()“ /> <mx:Blur id="labelBlur" target="{cityLabel}" blurXFrom="50“ blurXTo="0" /> </mx:Application> 20. Code behind Код: Разметка: <?xml version="1.0" encoding="utf-8"?> <LoginFormBase direction="vertical" xmlns="com.riapriority.rit2007.*" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Form defaultButton="{submitButton}"> <mx:FormItem label="Имя:" required="true"> <mx:TextInput id="yourName" /> </mx:FormItem> <mx:FormItem label=""> <mx:Button id="submitButton" label="Подтвердить"/> </mx:FormItem> </mx:Form> </LoginFormBase> package com.riapriority.rit2007 { import flash.events.MouseEvent; import mx.containers.Box; import mx.controls.Alert; import mx.controls.Button; import mx.controls.TextInput; import mx.events.FlexEvent; import mx.utils.StringUtil; public class LoginFormBase extends Box { public var yourName:TextInput; public var submitButton:Button; public function LoginFormBase() { addEventListener(FlexEvent.CREATION_COMPLETE, onComplete); } private function onComplete (event:FlexEvent): void { submitButton.addEventListener(MouseEvent.CLICK, onSubmit); } private function onSubmit (event:MouseEvent): void { var message:String = StringUtil.substitute ( "Превед, {0}!" , yourName.text); Alert.show(message); } } }