隨筆-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 應越 閱讀(244) 評論(0)  編輯  收藏 所屬分類: Flex3 & ActionScript3

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


          網站導航:
           
          主站蜘蛛池模板: 明光市| 汾西县| 闸北区| 原阳县| 翼城县| 永州市| 阿拉尔市| 沈丘县| 博湖县| 体育| 和顺县| 广德县| 曲阜市| 临武县| 菏泽市| 新田县| 枞阳县| 永吉县| 唐山市| 博野县| 延庆县| 麻栗坡县| 贵定县| 萍乡市| 陵川县| 中江县| 阿鲁科尔沁旗| 县级市| 灵璧县| 延边| 尉氏县| 玉溪市| 密山市| 安仁县| 寻甸| 庄河市| 苍南县| 会同县| 平南县| 吴堡县| 宁强县|