隨筆-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

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


          網站導航:
           
          主站蜘蛛池模板: 万荣县| 辽阳市| 修文县| 临湘市| 老河口市| 抚州市| 石家庄市| 香河县| 始兴县| 麻栗坡县| 乌拉特前旗| 博白县| 渭源县| 休宁县| 晋江市| 涟源市| 琼海市| 叙永县| 宁南县| 江北区| 新干县| 杭州市| 沁源县| 永年县| 贡山| 达孜县| 吉首市| 望江县| 蒲城县| 抚州市| 康平县| 平江县| 土默特左旗| 延庆县| 云梦县| 高台县| 鄂伦春自治旗| 阿图什市| 麻城市| 天峨县| 皮山县|