定义组件,文件为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关键字可以定义属性。
效果如下所示:

 

 

 

转自:http://www.cnitblog.com/Lalo/archive/2007/12/29/38213.aspx

posted on 2010-04-06 18:02  钱途无梁  阅读(1346)  评论(0)    收藏  举报