自定义MXML组件
基于组件开发模式是Flex的一个特色,程序中所有的MXML和AS类文件,都被当作用户自定义的组件。
1:新建一个 PopWnd.mxml 文件
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" title="Title Window" width="300" height="250"> <mx:Script> <!--[CDATA[ import mx.controls.Text; import mx.managers.PopUpManager; private var loginName:Text; private var loggedIn:Boolean; private function returnName():void { loginName.text = "Name entered: "; } private function checkLogin():void{ } ]]--> </mx:Script> <mx:HBox> <mx:Label text="username"/> <mx:TextInput name="username" width="100%" /> </mx:HBox> <mx:HBox> <mx:Label text="password"/> <mx:TextInput id="password" width="100%"/> </mx:HBox> <mx:HBox> <mx:Button label="Enter" click="checkLogin()"/> <mx:Button label="Cancel" click="PopUpManager.removePopUp(this)"/> </mx:HBox> </mx:TitleWindow> </mx:Application>
2: 新建一个 Main.mxml 文件
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Button label="创建登录窗口" click="toLogin()"/> <mx:Script> <!--[CDATA[ import mx.managers.PopUpManager; private function toLogin():void{ var pop:PopWnd = PopWnd(PopUpManager.createPopUp(this,PopWnd,true)); } ]]--> </mx:Script> </mx:Application>
PopUpManager.createPopUp(this,PopWnd,true)
创建了一个 弹出式窗口: PopUpManager 返回的是一个 IFlexDisplayObject 类型的变量, 所以需要强制转型, 赋给 PopWnd变量