posts - 325,  comments - 25,  trackbacks - 0
          7.Event 事件:捕獲,定位,冒泡
              鍵盤事件:
                  private function trapKeys(event:KeyboardEvent):void{
                      Alert.show("charCode:"+String(event.charCode)+" | keyCode:"+String(event.keyCode));
                      Alert.show(event.currentTarget.name);
                 }
           
                   <mx:TextArea id="text_area" name="mytest" keyDown="trapKeys(event)"/>
          8.Flex 可視化組件
                  Flex中所有可視化組件都繼承自UIComponent,當自定義組件時,應該擴展該類,該基類包括寬度,高度,雙擊事件,id屬性,樣式及x ,y
          9.組件事件處理示例:
                <mx:Script>
            <![CDATA[
             import mx.controls.Alert;
             import mx.controls.List;
             private function handleChageEvent(event:Event):void
             {
              Alert.show("you select the name:"+List(event.currentTarget).selectedItem.label);
             }
            ]]>
           </mx:Script>
           <mx:List change="handleChageEvent(event)">
            <mx:dataProvider>
             <mx:Array>
              <mx:Object label="zhang san"/>
              <mx:Object label="li si"/>
              <mx:Object label="wang wu"/>
             </mx:Array>
            </mx:dataProvider>
           </mx:List>
          10.組件行為:
              行為:觸發器也效果的結合
          <mx:Fade id="fadeInstance" alphaFrom="0" alphaTo="1" duration="1000"/>
           <mx:Button label="Fade Button" creationCompleteEffect="{fadeInstance}"/>
          11.為了使用組件的x和y屬性,子組件的父容器必須使用絕對定位,,默認情況下,Canvas容器使用絕對定位,但對于Application,Box,Panel容器,必須將layout設置為absolute
          12.集合定義的方法:
                  <mx:ArrayCollection id="myArrayCollection">
                          <mx:source>
                                  <mx:Array>
                                          <mx:String>United states</mx:String>
                                          <mx:String>South Africa</mx:String>
                                          <mx:String>United kingdom</mx:String>
                                  </mx:Array>
                          </mx:source>
                  </mx:ArrayCollection>
          或著
                  import mx.collections.ArrayCollection;
                  [Bindable]
                  public var myCollection:ArrayCollection = new ArrayCollection(["United states","South Africa","United kingdom"]);
          或著
                  public var myCollection:arrayCollection = new ArrayCollection();
                  var myArray:Array = ["United states","South Africa","United kingdom"];
                  myColleaction.source = myArray;
          13.集合的接口
          IList:以順序方式組織項的集合,不支持排序過慮或指針
                  適合于在集合的特定索引獲取、設置、添加、刪除項
                              在集合末尾添加一項
                              獲取集合中項的索引
                              獲取集合中項的總數
                              獲取集合中所有的項
          IcollectionView:基于數據集合的視圖,支持排序過慮,而不修改底層數據,為了訪問項,此接口提供對IViewCursor對象的訪問
                                      適合于通過修改視圖來排序數據,或過濾顯示項的子集,而不修改底層數據
                                                  移動集合中的項,并使用書簽保存項在集合中的位置
                                                  顯示最初可能不用的遠程數據,或顯示器顯示不同時間的不同數據
          IviewCursor:實現對于集合視圖的雙向枚舉,指針提供了定位搜索和設置標簽功能
          var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]);
                var cursor:IViewCursor = myArrayCollection.createCursor();
                cursor.seek(CursorBookmark.last);
                while (!cursor.beforeFirst)
                {
                    trace(current);
                    cursor.movePrevious();
                }


          ArrayCollection 和XMLListCollection 類都城實現了IList 和ICollectionView接口
          public function sortCollection():void
             {
              var sort:Sort = new Sort();
              sort.fields = [new SortField("label", true, true)];
              myCollection.sort = sort;
              myCollection.refresh();
             }
             
             public function filterCollection():void
             {
              myCollection.filterFunction = stateFilterFunc;
              myCollection.refresh();
             }
             
             private function stateFilterFunc(item:Object):Boolean
             {
              return item.label >= "A" && item.label < "N";
             }
             
             private function resetCollection():void
             {
              myCollection.filterFunction = null;
              myCollection.sort = null;
              myCollection.refresh();
             }
             
            ]]>
           </mx:Script>
           
           <mx:ArrayCollection id="myCollection">
            <mx:Array>
             <mx:Object label="LA" data="Baton Rouge" />
             <mx:Object label="NH" data="Concord" />
             <mx:Object label="TX" data="Austin" />
             <mx:Object label="MA" data="Boston" />
             <mx:Object label="AZ" data="Phoenix" />
            </mx:Array>
           </mx:ArrayCollection>
           
           <mx:List dataProvider="{myCollection}" width="200" />
           <mx:Button label="Sort Collection" click="sortCollection()" />
           <mx:Button label="Filter Collection" click="filterCollection()" />
           <mx:Button label="Reset Collection" click="resetCollection()" />

          14.集合變化引發事件
                  IList  ICollectionView接口實現類的集合發生變化時,都會分派CollectionEvent類事件
                  <mx:Script>
            <![CDATA[
            
             import mx.events.CollectionEventKind;
             import mx.events.CollectionEvent;
             import mx.collections.SortField;
             import mx.collections.Sort;
             import mx.collections.ArrayCollection;
             
             private var index:Number = 0;
             
             public function collectionChange(event:CollectionEvent):void
             {
              switch (event.kind)
              {
               case CollectionEventKind.ADD:
                myTextArea.text += "Item Added\n";
                break;
               case CollectionEventKind.REPLACE:
                myTextArea.text += "Item Replaced\n";
                break;
               case CollectionEventKind.REMOVE:
                myTextArea.text += "Item Removed\n";
                break;
              }
             }
             
             public function addItem():void
             {
              myCollection.addItem({label: myTextInput.text, data: index});
              index++;
             }
             
             private function updateItem():void
             {
              if (myList.selectedItem != null)
               myCollection.setItemAt({label: myTextInput.text, data: index}, myList.selectedIndex);
             }
             
             private function removeItem():void
             {
              if (myList.selectedItem != null)
               myCollection.removeItemAt(myList.selectedIndex);
             }
             
            ]]>
           </mx:Script>
           
           <mx:ArrayCollection id="myCollection" collectionChange="collectionChange(event)" />
           
           <mx:TextInput id="myTextInput" />
           <mx:List id="myList" dataProvider="{myCollection}" width="200" height="200" />
           <mx:Button label="ADD" click="addItem()" />
           <mx:Button label="UPDATE" click="updateItem()" />
           <mx:Button label="REMOVE" click="removeItem()" />
           <mx:TextArea id="myTextArea" width="200" height="200" />
          posted on 2011-01-18 09:38 長春語林科技 閱讀(268) 評論(0)  編輯  收藏 所屬分類: flex
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 丰宁| 务川| 凌海市| 安塞县| 莎车县| 沁阳市| 安国市| 泰宁县| 会理县| 肃宁县| 淳安县| 南京市| 瑞安市| 江源县| 会昌县| 东海县| 金坛市| 彰武县| 辽宁省| 淮安市| 徐州市| 宿松县| 岱山县| 金湖县| 呼伦贝尔市| 德昌县| 衡东县| 高碑店市| 台北县| 湘阴县| 侯马市| 西充县| 灵璧县| 兴仁县| 呼玛县| 赣州市| 邵阳市| 松潘县| 怀安县| 安达市| 上高县|