定义组件,文件为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 on 2007-12-29 06:27
Lalo 阅读(6652)
评论(1) 编辑 收藏 引用 所属分类:
Flex