AstroUI
Interface ILoadListener
- public interface ILoadListener
Interface zur Synchronisation mehrerer, auf einer HTML-Seite befindlicher Applets.
Da jedes Applet beim Aufbau einer HTML-Seite in einem eigenen Thread gestartet wird, gibt
es keine zuverlässige Reihenfolge der Verfügbarkeit. Wenn man beim Laden der Webseite
innerhalb der start()-Methoden der Applets Queraufrufe in ein anderes
Applet implementieren will, ist nicht sichergestellt, dass das gerufene Applet bereits
verfügbar ist.
Mit einem Trick kann man aber doch das Gewünschte erreichen: Das rufende Applet
implementiert das Interface ILoadListener, das aus der einzigen Methode
onLoad besteht. Wenn sich das rufende Applet in seiner
start()-Methode mit Hilfe der Applet.getAppletContext()
die Instanz des aufzurufenden Applets beschaffen und die gewünschte Methode erfolgreich
ausführen konnte, markiert es sich diese Aufgabe als erledigt. Konnte die Instanz
noch nicht beschafft werden, so kommt das Interface ILoadListener() wie folgt zum
Tragen: Jedes Applet, das potentiell von anderen Applets gerufen wird, durchläuft
in einer Schleife sämtliche Applet-Instanzen. Für diejenigen, die sich auf den Typ
ILoadListener casten lassen, wird die Interface-Methode onLoad(this)
ausgeführt. Ist also das aufzurufende Applet später fertig als das rufende, so erhält
das rufende Applet durch die onLoad-Methode die Möglichkeit, nun die
gewünschte Methode auszuführen. Es bekommt also, kurz gesagt, entweder in seiner eigenen
start()-Methode, oder in der onLoad()-Methode die Möglichkeit,
die Aktion auf dem gerufenen Applet auszuführen.
Die Applets HoroApplet und HoroCompare haben
eine Schleife über die ILoadListener()-Applets der gleichen Seite in ihrer
Startmethode implementiert. Sie sind also durch ein anderes Applet extern steuerbar.
|
Methoden-Überblick |
void |
onLoad(java.lang.Object caller)
Wird von allen Instanzen von HoroApplet und HoroCompare
beim Laden der Seite aufgerufen, um rufenden Applets zu ermöglichen, beim Laden der Seite
garantiert auf das Applet zuugreifen zu können (siehe Dokumentation zur Klasse). |
onLoad
public void onLoad(java.lang.Object caller)
- Wird von allen Instanzen von
HoroApplet und HoroCompare
beim Laden der Seite aufgerufen, um rufenden Applets zu ermöglichen, beim Laden der Seite
garantiert auf das Applet zuugreifen zu können (siehe Dokumentation zur Klasse).