Flex组件开发之自定义属性和方法

定义组件,文件为MyComponents/StateComboBoxSetGet.mxml,其代码如下所示:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
 3     <mx:Script>
 4         <![CDATA[
 5             // 定义私有变量
 6             private var stateArrayShort:Array = ["AK", "AL"];
 7             private var stateArrayLong:Array = ["Arkansas", "Alaska"];
 8             // 定义一个设置属性的变量
 9             private var _shortNames:Boolean = true;
10             // 定义设置属性的方法
11             public function set shortNames(val:Boolean):void 
12             {
13                 // 根据传入参数,设置dataProvider属性
14                 _shortNames = val;
15                 if (_shortNames) 
16                 {
17                     this.dataProvider = stateArrayShort; 
18                 }
19                 else 
20                 {
21                     this.dataProvider = stateArrayLong; 
22                 }
23             }
24             // 定义获取属性的方法
25             public function get shortNames():Boolean
26             {
27                 return _shortNames;
28             }
29         ]]>
30     </mx:Script>
31 </mx:ComboBox>
32 

调用组件,文件为MainPropSetGet.mxml,其代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:MyComp
="MyComponents.*">    
    
<MyComp:StateComboBoxSetGet id="myStateCB" shortNames="true" />
    
<mx:Button click="myStateCB.shortNames=!myStateCB.shortNames;"
        label
="更改列表" />
</mx:Application>

总结:
通过set和get关键字可以定义属性。

posted @ 2010-05-13 15:04  rob_2010  阅读(320)  评论(0)    收藏  举报