Mega Code Archive

 
Categories / Flex / Development
 

Use DeferredInstanceFromFunction

<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">     <mx:Script>                      import mx.core.*;             import mx.states.*;             [Bindable]             public var defInst:DeferredInstanceFromFunction = new DeferredInstanceFromFunction(createMyButton);             public function createMyButton():Object {                 var newButton:Button = new Button();                 newButton.label = "New Button";                 return newButton;             }                </mx:Script>     <mx:states>         <mx:State name="deferredButton">             <mx:AddChild relativeTo="{myPanel}" targetFactory="{defInst}" />         </mx:State>     </mx:states>     <mx:Panel id="myPanel" title="Static and dynamic states">         <mx:Button id="myButton2" label="Add" click="currentState ='deferredButton'" />         <mx:Button id="myButton3" label="Remove" click="currentState =''" />     </mx:Panel> </mx:Application>