• flex 事件机制实解


    主页面:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();" layout="absolute">
    <mx:Script>
       <![CDATA[
        import myComponents.CustomEvent;
       ]]>
    </mx:Script>

    <mx:Script>
       <![CDATA[
        import mx.managers.PopUpManager;
        import myComponents.titleWin;
        import mx.collections.ArrayCollection;
        import mx.controls.Alert;
        private function init():void{
         addEventListener("test",handlerTEST,true);
        
         var dataProvider:ArrayCollection = new ArrayCollection([
         {name:"lixx1",task:"lixx1"},{name:"lixx2",task:"lixx2"},{name:"lixx3",task:"lixx3"}]);
        
         this.myDatagrid.dataProvider = dataProvider;
        }
       
        private function handlerTEST(event:CustomEvent):void{
         //Alert.show(""+(event as CustomEvent).getOBJ.name);
         var win:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true)) ;
         win.userName.text = "lixx";
         win.password.text = "lixx";
         PopUpManager.centerPopUp(win);
        }
       ]]>
    </mx:Script>
    <mx:DataGrid id="myDatagrid">
       <mx:columns>
        <mx:DataGridColumn headerText="姓名" dataField="name">
        </mx:DataGridColumn>
        <mx:DataGridColumn headerText="任务" dataField="task">
        </mx:DataGridColumn>
        <mx:DataGridColumn headerText="操作">
         <mx:itemRenderer>
          <mx:Component>
           <mx:Button label="TEST" click="cli();">
            <mx:Script>
            <![CDATA[
             import myComponents.CustomEvent;
             private function cli():void{
              dispatchEvent(new CustomEvent("test",data));
             }
            ]]>
            </mx:Script>
           </mx:Button>
          </mx:Component>
         </mx:itemRenderer>
        </mx:DataGridColumn>
       </mx:columns>
    </mx:DataGrid>
    </mx:Application>

    窗体页面:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
    creationComplete="init();" width="400" height="300" showCloseButton="true"
    close="remove(event);">
    <mx:Script>
       <![CDATA[
        import mx.controls.Alert;
        import mx.events.CloseEvent;
        private function init():void{
         this.submit.addEventListener(MouseEvent.CLICK,submit1);
         this.cancel.addEventListener(MouseEvent.CLICK,cancel1);
        }
       
        private function remove(event:CloseEvent):void{
        
        }
        private function submit1(event:MouseEvent):void{
         Alert.show("success login");
        }
        private function cancel1(event:MouseEvent):void{
         Alert.show("success logout");
        }
       ]]>
    </mx:Script>
    <mx:Form id="myForm">
       <mx:FormHeading label="用户登录">
       
       </mx:FormHeading>
       <mx:FormItem label="用户名: ">
        <mx:TextInput id="userName" text="" />
       </mx:FormItem>
       <mx:FormItem label="密码: ">
        <mx:TextInput id="password" text="" />
       </mx:FormItem>
       <mx:FormItem direction="horizontal">
        <mx:Button label="submit" id="submit"/>
        <mx:Button label="cancel" id="cancel"/>
       </mx:FormItem>
    </mx:Form>
    </mx:TitleWindow>

  • 相关阅读:
    USACO提交方法
    洛谷 P1967 【货车运输】
    一本通 P1386 【打击犯罪】
    洛谷 P5767 【最优乘车】
    洛谷 P5658 【括号树】
    洛谷 P5657 【格雷码】
    洛谷 P2272 【最大半连通子图】
    二分图匈牙利算法
    最小生成树Kruskal算法
    觉得写出了抽象类和接口,以及概括了设计模式的宗旨
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100570.html
Copyright © 2020-2023  润新知