[ascoders] Re: AS2 Eventhandling
- From: Ralf Siegel <ralf@xxxxxxxxxxx>
- To: ascoders@xxxxxxxxxxxxx
- Date: Fri, 12 Dec 2003 22:23:20 +0100
Danke erstmal!
Also ich kann in der Flashhilfe nichts über den EventDispatcher finden (hab
eben ein Update gemacht).
Aber danke, die Parameter haben mir echt gefehlt!
Suche mal nach 'dispatchEvent' - da sollten zwei Treffer kommen. Nicht?!
Verstehe ich das richtig, dass der EventDispatcher nur statische Methoden
und Eigenschaften hat?
ja.
Sämtliche Objekte melden sich also bei einer Klasse, aber eben für
unterschiedliche Events an?
genau.
Gibt's da was vergleichbares in Java?
AS2 orientiert sich laut Hilfe & EventDispatcher.as an der 'DOM Level 3
Events Specification' (-> mit OT: 'backdoor implementation' ;o)
http://www.w3.org/TR/DOM-Level-3-Events/
http://www.w3.org/TR/DOM-Level-2-Events/
Eine Implementation in Java findest du im org.w3c.dom.events Package:
http://java.sun.com/j2se/1.4.2/docs/guide/plugin/dom/org/w3c/dom/events/package-summary.html
Ansonsten gibt's für AWT:
http://java.sun.com/j2se/1.4.1/docs/api/java/awt/event/package-summary.html
(sorry, hab leider so schnell nichts besseres als die API-Docs gefunden)
"Provides interfaces and classes for dealing with different types of events
fired by AWT components. See the java.awt.AWTEvent class for details on the
AWT event model. Events are fired by event sources. An event listener
registers with an event source to receive notifications about the events of
a particular type. This package defines events and event listeners, as well
as event listener adapters, which are convenience classes to make easier
the process of writing event listeners."
Event/EventQueue/EventDispatcher:
http://java.sun.com/j2se/1.4.1/docs/api/java/awt/AWTEvent.html
http://java.sun.com/j2se/1.4.1/docs/api/java/awt/AWTEventMulticaster.html
http://java.sun.com/j2se/1.4.1/docs/api/java/awt/EventQueue.html
Ansonsten - Observer/Observable:
http://ag-kastens.uni-paderborn.de/lehre/material/oop/aufgaben/blatt9/Blatt9.html
Der AWT-EventDispatcher in Java läuft übrigens als separater Thread:
http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
In ActionScript gibt's bekanntlich keine Threads, aber auch hier sammelt
der EventDispatcher intern Empfänger für ein bestimmtes Ereignis in einer
Warteschlange und arbeitet diese der Reihe nach ab: Schau mal in die Datei
'EventDispatcher.as' - der Name der Warteschlange (queueName) ergibt sich
aus dem Namen des Ereignisses:
--------------------------------------------------------------------
C:\Programme\Macromedia\Flash MX 2004\en\First Run\Classes\mx\events
--------------------------------------------------------------------
function addEventListener(event:String, handler):Void
{
var queueName:String = "__q_" + event;
if (this[queueName] == undefined)
{
this[queueName] = new Array();
}
_global.ASSetPropFlags(this, queueName,1);
EventDispatcher._removeEventListener(this[queueName],
event, handler);
this[queueName].push(handler);
}
--------------------------------------------------------------------
Für den zweiten Ansatz (selbst basteln) wollte ich eigentlich gar keinen
ASBroadcaster verwenden...
Lohnt sich das selberbasteln, oder ist das langsamer?
Ich glaube André hatte vor einiger Zeit herausgefunden, dass AsBroadcaster
schneller als ein eigener Zündsatz zündet.
Selbst basteln macht aber mehr Spass - besonders unter'm Weihnachtsbaum :o)
ralf ...
-------------------------------------------------------------
Ralf Siegel - Freelance Developer
Recommended Listening: Ms. John Soda - While Talking (Morr)
-------------------------------------------------------------
------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
Optionen : http://www.freelists.org/list/ascoders
------------------------------------------------------
- Follow-Ups:
- [ascoders] Re: AS2 Eventhandling
- From: Jörg Edelmann
- References:
- [ascoders] Re: AS2 Eventhandling
- From: Ralf Siegel
- [ascoders] Re: AS2 Eventhandling
- From: Jörg Edelmann
Other related posts:
- » [ascoders] AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
- » [ascoders] Re: AS2 Eventhandling
Danke erstmal! Also ich kann in der Flashhilfe nichts über den EventDispatcher finden (hab eben ein Update gemacht). Aber danke, die Parameter haben mir echt gefehlt!
Verstehe ich das richtig, dass der EventDispatcher nur statische Methoden und Eigenschaften hat?
Sämtliche Objekte melden sich also bei einer Klasse, aber eben für unterschiedliche Events an?
Für den zweiten Ansatz (selbst basteln) wollte ich eigentlich gar keinen ASBroadcaster verwenden... Lohnt sich das selberbasteln, oder ist das langsamer?
------------------------------------------------------ Archiv : http://www.freelists.org/archives/ascoders/ Optionen : http://www.freelists.org/list/ascoders ------------------------------------------------------
- [ascoders] Re: AS2 Eventhandling
- From: Jörg Edelmann
- [ascoders] Re: AS2 Eventhandling
- From: Ralf Siegel
- [ascoders] Re: AS2 Eventhandling
- From: Jörg Edelmann