Applets in Java: Grundlagen, Lebenszyklus und Threads

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 5,52 KB

Applets in Java

Die Applet-Klasse bietet alle notwendigen Werkzeuge, um Applets zu erstellen. Sie ist im Paket java.applet enthalten. Daher importieren wir dieses Paket, sowie die Pakete java.awt, java.awt.event und javax.swing, wenn wir ein Applet entwickeln wollen. Diese Pakete enthalten alle erforderlichen Schnittstellen zur Entwicklung von Benutzeroberflächen.

Ein Applet ist ein Programm, das mit dem SDK implementiert und durch einen Internet-Browser oder das Programm appletviewer.exe ausgeführt wird.

Applets haben den Vorteil, im Internet-Browser auf dem Client-Computer zu laufen. Die Java-Entwickler haben jedoch einige Einschränkungen eingeführt, um Schäden oder Viren zu vermeiden:

a) Applets können weder das Dateisystem eines Browsers lesen noch beschreiben.

b) Sie haben nur Zugriff auf den Server, der innerhalb des Applets in einem Programm definiert ist, das Sockets verwendet.

c) Sie können keine Programme auf dem Client ausführen.

d) Es können keine Programme, einschließlich nativer DLLs, geladen werden.

Der Lebenszyklus eines Applets

Ein Applet erbt seine Eigenschaften und Methoden von der Applet-Klasse des Pakets java.applet. Die Bibliothek java.awt enthält mehrere Methoden, die Sie überschreiben können, um dem Applet die erforderliche Funktionalität zu geben. Diese Methoden folgen einem Lebenszyklus, der im Folgenden erläutert wird:

init() ist die erste Methode, die einmal ausgeführt wird, wenn das Applet geladen wird. Sie wird nur einmal ausgeführt und sollte verwendet werden, um Variablen zu initialisieren.

start() wird nach init() ausgeführt. Sie ermöglicht das Zurücksetzen eines Applets, nachdem es gestoppt wurde. Die Methode start() wird jedes Mal ausgeführt, wenn das Applet im HTML-Dokument angezeigt wird.

paint() wird jedes Mal ausgeführt, wenn das Applet neu gezeichnet wird.

stop() wird ausgeführt, wenn der Browser die HTML-Seite mit dem Applet verlässt. Sie wird verwendet, um das Applet zu stoppen. Beim Neustart wird die Methode start() aufgerufen.

destroy() wird ausgeführt, wenn die Umgebung feststellt, dass das Applet vollständig aus dem Speicher gelöscht werden muss. Die Methode stop() wird immer vor destroy() ausgeführt.

Was ist ein Thread?

Die Java Virtual Machine (JVM) ist Multi-Thread-fähig. Das heißt, sie ist in der Lage, mehrere Ausführungssequenzen (Programme) gleichzeitig zu verarbeiten. Die JVM kümmert sich um alle Details wie die Zuweisung von Ausführungszeiten, Prioritäten usw., ähnlich wie ein Betriebssystem mehrere Prozesse behandelt. Der grundlegende Unterschied zwischen einem Betriebssystemprozess und einem Java-Thread besteht darin, dass Java-Threads innerhalb der JVM laufen, einem Prozess des Betriebssystems, und daher alle Ressourcen, einschließlich Speicher und der darin definierten Variablen und Objekte, gemeinsam nutzen. Diese Art von Verfahren, bei dem Ressourcen gemeinsam genutzt werden, wird manchmal als "leichtgewichtige Prozesse" bezeichnet.

Java unterstützt das Konzept der Threads direkt in der Sprache, mit einigen Klassen und Schnittstellen im Paket java.lang und spezifischen Methoden zur Manipulation von Threads, die in der Object-Klasse definiert sind.

Aus Sicht der Anwendungen sind Threads nützlich, weil sie den Ablauf des Programms in zwei oder mehr Teile unterteilen können, wobei jeder Teil für eine bestimmte Aufgabe zuständig ist. Zum Beispiel kann ein Thread die Kommunikation mit den Benutzern verarbeiten, während andere im Hintergrund agieren, indem sie eine Datei übertragen, auf Systemressourcen zugreifen (Sounds laden usw.) oder Dateien lesen. Tatsächlich sind alle Programme mit grafischer Benutzeroberfläche (AWT und Swing) Multi-Thread-fähig, wobei Routinen für Ereignisse und Fenster in einem separaten Thread erstellt werden.

Das HTML-Applet-Tag

Applets werden von einem Browser (Internet Explorer, Netscape, Opera usw.) oder dem appletviewer ausgeführt. Dies geschieht durch eine Erweiterung der HTML-Datei. Diese Datei muss ein Tag oder ein -Tag mit der folgenden Struktur enthalten:

File.html

Code = "Dateiname der Klasse"

CODEBASE = "Pfad (URL) der Klassendateien"

Align = "Ausrichtung des Applets"

Width = "Breite in Pixel des Applets"

Height = "Höhe in Pixel des Applets"

Im -Tag können einige Argumente die Position des vom Applet belegten Raums in einer Webseite ändern. Einige dieser Attribute sind:

a) ALIGN bestimmt die Ausrichtung des Applets. Mögliche Werte sind: LEFT, RIGHT, TEXTTOP, MIDDLE, baseline, bottom, ABSBOTTOM, TOP, ABSMIDDLE

b) HSPACE zeigt den horizontalen Abstand zwischen dem Applet und dem umgebenden Text.

c) VSPACE zeigt den vertikalen Abstand zwischen dem Applet und dem umgebenden Text.

d) CODEBASE enthält den Pfad zu den Klassen im Applet. Wenn er weggelassen wird, wird das gleiche Verzeichnis der Webseite angenommen.

f) PARAM enthält ein Paar aus Name und Wert, um Parameter an das Applet zu senden. Es können auch mehrere PARAM-Tags verwendet werden.

Verwandte Einträge: