创建用户界面组件--可视化组件(三)
相同的效果的例子
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.