隨筆-8  評論-8  文章-10  trackbacks-0

          1.如何動態載入mxml文件
                 在web開發中,往往需要講網站中的所有頁面用樹形列表體現出來,而這些頁面的地址是存在于數據庫中的,那么前臺AS代碼中只能拿到
          這個數據的XML格式,最初的設想是用eval來實現,但AS3中取消了eval,后來又使用反射,無奈AS3的反射實在是有點問題,最后查到可以用
          ModuleLoader來解決這個問題。
                 主程序
           1<?xml version="1.0" encoding="utf-8"?>
           2<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
           3    <mx:Script>
           4        <![CDATA[
           5            import mx.events.ListEvent;
           6            import mx.controls.Alert;
           7            
           8            function showCanvas(event:ListEvent) {
           9                var selectedNode:XML = Tree(event.target).selectedItem as XML;
          10                Alert.show(selectedNode.@name);
          11                rightCanvas.url="StuModule.swf";//url指向StuModule.mxml
          12                rightCanvas.loadModule();//發出指令調用模塊
          13
          14            }
          15        ]]>
          16    </mx:Script>
          17    <mx:XMLList id="ct">
          18        <node name="根節點">
          19            <node name="學生管理">
          20                <node name="學生瀏覽"/>
          21                <node name="學生查看"/>
          22            </node>
          23            <node name="班級管理">
          24                <node name="班級瀏覽"/>
          25            </node>
          26        </node>
          27    </mx:XMLList>
          28    
          29    <mx:Panel layout="vertical" width="80%" height="80%" x="63.5" y="58">
          30        <mx:HDividedBox width="100%" height="100%">
          31            <mx:Tree width="20%" height="100%" dataProvider="{ct}" showRoot="false"
          32                 labelField="@name" change="showCanvas(event);"/>
          33            <mx:ModuleLoader id="rightCanvas" width="80%" height="100%" />
          34        </mx:HDividedBox>
          35    </mx:Panel>
          36</mx:Application>
          37

          子程序:
          1<?xml version="1.0" encoding="utf-8"?>
          2<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
          3    <mx:Canvas width="100%" height="100%">
          4        <mx:Label x="243.5" y="181" text="asdfa;sldkfjaks;djf;alskdjfkld" width="144" height="103"/>
          5    </mx:Canvas>
          6</mx:Module>
          注意被加載的子程序一定要繼承自Module




          每天進步一點點

          posted on 2009-05-15 01:22 應越 閱讀(247) 評論(0)  編輯  收藏 所屬分類: Flex3 & ActionScript3

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 普洱| 清涧县| 资溪县| 昂仁县| 科尔| 萍乡市| 延安市| 阿荣旗| 始兴县| 岳西县| 巧家县| 扶风县| 德令哈市| 汾西县| 阿巴嘎旗| 莆田市| 临邑县| 丹阳市| 张北县| 温宿县| 广宗县| 静宁县| 申扎县| 通许县| 安溪县| 清涧县| 沂源县| 桃园市| 和平县| 青浦区| 曲靖市| 磐石市| 武冈市| 勃利县| 花莲市| 上杭县| 襄樊市| 盐亭县| 石河子市| 沈阳市| 四会市|