다음예제는 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 |