相同的效果的例子
1.用mxml创建的组件
<?xml version="1.0"?>
<!-- components\AddButtonToContainer.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<s:Group id="box1" width="200">
<mx:TextInput text="hello"/>
</s:Group>
</s:Application>
2.使用actionscript创建,其中initApp()函数在creationComplete事件中执行。 解析:组件生命周期中所分派的主要事件:
<fx:Script>
<![CDATA[
import mx.controls.TextInput;
private function initApp():void{
//创建一个box容器
var box1:Group=new Group();
box1.width=200;
this.addElement(box1);
//创建一个button 组件
var tex:TextInput=new TextInput();
tex.text="hello";
box1.addElement(tex);
trace(box2.height);
}
]]>
</fx:Script>
preinitialize:在组件生命周期中,最早是通过触发preinitialize事件来完成初始化。在少数情况下,当开发人员在子组件创建之前,而必须设置父组件的属性的情况下,就要用到该事件。
initialize:用来设置那些影响外观的属性(例如高度)。 creationComplete:可用于精确设置组件的值(比如大小和位置)。 updateComplete:每当组件的特性发生变化时,都可以调用updateComplete.