Dieses Kommunikationsmodell nennt sich Delegation Event Model oder Delegation Based Event Handling und wurde mit der Version 1.1 des JDK eingeführt. Im Gegensatz zum alten Modell, bei dem jedes Ereignis die Verteilermethode handleEvent der Klasse Component durchlaufen mußte und von ihr an die verschiedenen Empfänger verteilt wurde, hat dieses neue Modell zwei wesentliche Vorteile:
Es verringert den Nachrichtenverkehr, da nur noch die Ereignisse transportiert werden, für die es Empfänger gibt. Dadurch erhöht sich potentiell die Performance des Nachrichtentransports im AWT .
Es erlaubt eine klare Trennung zwischen Programmcode zur Oberflächengestaltung und solchem zur Implementierung der Anwendungslogik. Es erleichtert dadurch die Erzeugung von robustem Code, der auch in großen Programmen den Entwurf sauber strukturierter Ereignishandler ermöglicht.
Diesen Vorteilen steht der etwas höhere Einarbeitungsaufwand gegenüber. Während man beispielsweise im AWT 1.0 einfach die action-Methode des Fensters überlagerte, um auf das Betätigen einer Schaltfläche zu reagieren, muß man nun eine EventListener-Klasse
schreiben
instanzieren
bei der Ereignisquelle registrieren