自定义Flex组件的两种方法

方法一,创建MXML组件

StateComboBox.mxml 文件

 <?xml version="1.0"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:dataProvider>   
        <mx:String>AK</mx:String>
        <mx:String>AL</mx:String>
    </mx:dataProvider>
</mx:ComboBox>

MyApplication.mxml中 

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="*" >
   <MyComp:StateComboBox/> 
</mx:Application>

也可以为StateComboBox这个组件添加事件处理脚本

例如:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="*" >
<mx:Script>
        <![CDATA[
            import flash.events.Event;
            private function handleCloseEvent(eventObj:Event):void {
                // ...
            }
        ]]>
    </mx:Script>
<MyComp:StateComboBox rowCount="5" close="handleCloseEvent(event);"/>
</mx:Application>

方法二,创建ActionScript组件

写一个AS的类MyBubbon.js

package myComponents {

   import mx.controls.Button;

   public class MyButton extends Button {

        public function MyButton() {

          super();

          label="Submit";

        }

    }

}

MyApplication.mxml文件里头:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:MyComp="myComponents.*" >
    <MyComp:MyButton/>
 </mx:Application>

 

你可能感兴趣的:(Flex,自定义组件)