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

          1.如何動態(tài)載入mxml文件
                 在web開發(fā)中,往往需要講網(wǎng)站中的所有頁面用樹形列表體現(xiàn)出來,而這些頁面的地址是存在于數(shù)據(jù)庫中的,那么前臺AS代碼中只能拿到
          這個數(shù)據(jù)的XML格式,最初的設想是用eval來實現(xiàn),但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();//發(fā)出指令調(diào)用模塊
          13
          14            }
          15        ]]>
          16    </mx:Script>
          17    <mx:XMLList id="ct">
          18        <node name="根節(jié)點">
          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 應越 閱讀(245) 評論(0)  編輯  收藏 所屬分類: Flex3 & ActionScript3

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 承德县| 高唐县| 韶关市| 宝坻区| 长兴县| 安康市| 故城县| 友谊县| 锡林郭勒盟| 张北县| 昭通市| 乐陵市| 射阳县| 绥阳县| 上蔡县| 沭阳县| 苍溪县| 策勒县| 吉安市| 应城市| 民乐县| 盱眙县| 沂源县| 县级市| 淮阳县| 个旧市| 观塘区| 霍山县| 宜都市| 仙居县| 花垣县| 乌苏市| 固原市| 同心县| 南木林县| 鹤庆县| 信宜市| 漳平市| 航空| 东方市| 海城市|