Google Maps API からジオコーディング データを取得する単純なオブジェクトがあり、Google からの応答に応じて一連のカスタム イベントをディスパッチしたいと考えています。ただし、UIComponent を拡張しないため、このクラスには addEventListener() メソッドと dispatchEvent() メソッドはありません。UIComponent から継承せずに Flex 3 でカスタム イベントを作成する方法はありますか?
2021 次
4 に答える
8
はいぜったいに。イベント処理を利用するには、カスタム オブジェクトで EventDispatcher を拡張する必要があります。
public class MyClass extends EventDispatcher
{
// ...
public function myFunction():void
{
dispatchEvent(new Event("myEvent"));
}
}
これにより、イベントのディスパッチが処理されます。
また、必要に応じて、Event を拡張する別のクラスを作成することもできます。これにより、ハンドラーで使用するイベント固有のデータをアタッチするオプション (とりわけ) が提供されます。
public class MyClass extends EventDispatcher
{
// ...
public function myFunction():void
{
dispatchEvent(new MyEvent(someData));
}
}
public class MyEvent extends Event
{
private var _myEventData:Object;
public function MyEvent(eventData:Object)
{
_myEventData = eventData;
}
}
..そのため、ハンドラーで次のようにします。
private function myHandler(event:MyEvent):void
{
trace(event.myEventData.toString());
}
わかる?
于 2009-01-14T21:46:08.047 に答える
0
それはまさに私がしたことです!拡張された EventDispatcher と継承された dispatchEvent
ありがとう
于 2010-10-22T13:25:12.023 に答える