다음예제는 EventDispatcher클래스를 상속받은 클래스객체를 하나 생성하고 그 객체에 이벤트에 대한 리스너를 달고, 그 이벤트를 디스패치 시키면 리스너가 동작 하는가를 테스트 하는 예제입니다. 먼저 Listen Event버튼을 클릭 후, Dispach Event를 클릭하시면, success 메소드가 실행될 것 입니다. 리스닝을 하기전에 디스패치를 해버리면 아무 반응이 없습니다. 당연히 듣는이가 아무도 없으니, 불러봐야 응답이 없는 것은 당연할지도~

 

*source :EventDispatcherTest.fxp

 

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

                       xmlns:s="library://ns.adobe.com/flex/spark"

                       xmlns:mx="library://ns.adobe.com/flex/mx"

                       backgroundColor="#aaaaaa">

       <fx:Script>

             <![CDATA[

                    import mx.controls.Alert;

                    private var testEvent:EventDispatcherChild = new EventDispatcherChild();

                   

                    private function listenMyEvent():void

                    {

                           testEvent.addEventListener("Kevin", success);

                    }

                   

                    private function dispatchMyEvent():void

                    {

                           testEvent.dispatchMyEvent();                        

                    }

                   

                   

                    private function success(e:Event):void

                    {

                           Alert.show(e.type);

                    }

             ]]>

       </fx:Script>

      

       <s:HGroup>

             <s:Button label="Listen Event" click="listenMyEvent();" />

             <s:Button label="Dispath Event" click="dispatchMyEvent();" />

       </s:HGroup>

</s:Application>

 

 

package

{

       import flash.events.Event;

       import flash.events.EventDispatcher;

      

       public class EventDispatcherChild extends EventDispatcher

       {

             public function dispatchMyEvent():void

             {

                    dispatchEvent(new Event("Kevin"));

             }

       }

}

'Adobe Platform > Flex' 카테고리의 다른 글

mms.cfg(Macromedia Security Configuration)  (0) 2012.09.28
SharedObject Reference  (0) 2012.09.25
NetStreamInfo Class  (0) 2012.09.17
Capabilities Class  (0) 2012.09.17
ActionScript Reference  (0) 2012.09.17
AND