オブジェクト作成プロセスを最適化しよう2

by matsu
♥0 | Line 42 | Modified 2010-04-08 13:24:45 | MIT License
play

ActionScript3 source code

/**
 * Copyright matsu ( http://wonderfl.net/user/matsu )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/2rzu
 */

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="baseCreationComplete()">
	<mx:Script>
		<![CDATA[
			private function baseCreationComplete():void
			{
				myTextArea.text = "created...\n";
				creationButton.addEventListener(MouseEvent.CLICK, creationButtonClick);
			}
			private function logCreationComplete(evt:Event):void
			{
				myTextArea.text += evt.currentTarget.id + "\n";
			}
			
			private function creationButtonClick(evt:MouseEvent):void
			{
				myHBox.creationPolicy = "all";
				
				trace(myPanel1);	// null
				myHBox.createComponentsFromDescriptors();
				trace(myPanel1);
			}
			
		]]>
	</mx:Script>
	
	<mx:HBox id="myHBox" creationPolicy="none">
		<mx:Panel id="myPanel1" title="Panel 1 (0)" creationPolicy="queued" creationIndex="0" creationComplete="logCreationComplete(event)" creationCompleteEffect="showFade">
			<mx:Box id="myBox1" width="100" height="100" horizontalAlign="center" verticalAlign="middle" creationComplete="logCreationComplete(event)">
				<mx:Button id="myButton1" label="Button 1" creationComplete="logCreationComplete(event)"/>
			</mx:Box>
		</mx:Panel>
		<mx:Panel id="myPanel2" title="Panel 2 (1)" creationPolicy="queued" creationIndex="1" creationComplete="logCreationComplete(event)" creationCompleteEffect="showFade">
			<mx:Box id="myBox2" width="100" height="100" horizontalAlign="center" verticalAlign="middle" creationComplete="logCreationComplete(event)">
				<mx:Button id="myButton2" label="Button 2" creationComplete="logCreationComplete(event)"/>
			</mx:Box>
		</mx:Panel>
		<mx:Panel id="myPanel3" title="Panel 3 (2)" creationPolicy="queued" creationIndex="2" creationComplete="logCreationComplete(event)" creationCompleteEffect="showFade">
			<mx:Box id="myBox3" width="100" height="100" horizontalAlign="center" verticalAlign="middle" creationComplete="logCreationComplete(event)">
				<mx:Button id="myButton3" label="Button 3" creationComplete="logCreationComplete(event)"/>
			</mx:Box>
		</mx:Panel>
	</mx:HBox>
	<mx:TextArea id="myTextArea" height="200" width="350"/>
	
	<mx:Button id="creationButton" label="createComponentsFromDescriptors"/>

</mx:Application>