Applets in Java

In den letzten fünf Werkstattposten haben wir unsere Javaprogramme mit dem Javacompiler javac kompiliert und anschliessend auf der virutellen Maschine java laufen gelassen. Dabei war die virtuelle Maschine Schnittstelle zwischen dem Betriebssystem und unserem Programm. Alle Ereignisse wie Mausklicks, Tastatureingaben usw. wurden vom Betriebssystem zur virutellen Maschine geschickt, welche diese an unser Javaprogramm weiterleitete. Wird ein Javaprogramm in ein HTML Dokument eingebettet, dann muss eine Schnittstelle vom Web Browser zu unserem Javaprogramm existieren, denn die virtuelle Maschine kommuniziert nicht mehr direkt mit dem Betriebssystem. Deshalb gibt es in Java die sogenannte Appletklasse. Sie ist Schnittstelle zwischen dem Web Browser und unserem Javaprogramm. Es ist sehr einfach ein Applet zu programmieren. Der folgende Ausschnitt zeigt ein Teil der vollständigen Definition der Appletklasse.

// unvollständige Definition
public class java.applet.Applet
	extends java.awt.Panel (II-§1.33)
{
	// Constructors
	public Applet();	§3.1.1

	// Methods
	public void init();	§3.1.13
	public void start();	§3.1.21
	public void stop();	§3.1.22
}

Die Konstukturmethode applet erzeugt wie erwartet ein neues Applet. Die wichtigste Methode ist init. Diese wird vom Web Browser nach dem Laden des Javacodes aufgerufen und dient der Initialisierung des Applets. Im nächsten Abschnitt gehen wir auf diese Methode näher ein. Die Methode start wird aufgerufen, sobald unser Applet im Web Browser aktiv wird. Eine sichtbare Seite ist immer aktiv. Diese Web Seite, die Sie jetzt gerade lesen, ist aktiv. stop wird aufgerufen sobald das Applet nicht mehr aktiv ist. Dies ist der Fall, wenn wir die Web Seite wechseln. Betrachten Sie das folgende Applet

Das Applet zählt die Anzahl Aufrufe der Methoden init, start, stop und paint. Verschieben Sie die Web Seite bis Sie das Applet nicht mehr sehen können und kehren Sie nachher zum Applet zurück. Sie erkennen sofort, dass die paint Methode mehrmals aufgerufen wurde. Die Zähler init, start und stop änderten sich jedoch nicht. Laden Sie jetzt eine neue Seite und kommen Sie nachher zu dieser Seite zurück. Wie erwartet wurde die stop Methode aufgerufen als Sie zur neuen Seite wechselten und start aufgerufen als Sie zurückkehrten.

Um ein neues Applet zu programmieren, müssen wir die Klasse Applet erweitern und mindestens die Methode init überschreiben. Im obigen Beispiel Count überschrieben wir die Methoden init, start, stop und paint um Ihnen den Effekt des Aufrufens der betreffenden Methoden zu zeigen.

Nachdem das Applet Count erfolgreich compiliert wurde, müssen wir es am Schluss in eine HTML Seite einbauen. Unser Count-Applet ist in dieser HTML Seite wie folgt eingebaut:

<APPLET CODE="Count.class" WIDTH="250" HEIGHT="30"></APPLET>

Als erstes müssen wir unserem Web Browser mitteilen, dass ein Applet folgt. Wir tun dies indem wir den Applet Tag <APPLET> einfügen. Als nächstes müssen wir dem Browser mitteilen, welches Applet geladen werden soll. In unserem Beispiel ist dies Count.class. Danach müssen wir noch angeben wie breit und hoch unser Applet sein soll, damit der Web Browser genügend Platz für die Darstellung reservieren kann. Wir geben die Breite und die Höhe in den Feldern WIDTH und HEIGHT an. Jetzt müssen wir dem Browser nur noch mitteilen, dass unsere Appletdefinition zu Ende ist. Dies tun wir mit dem Tag </APPLET>.

Zusammenfassung: Ein Applet programmieren wir wie folgt:

  1. Wir schreiben ein Java Programm.
  2. Wir erweitern die Klasse Applet und betten unser Javaprogramm darin ein.
  3. Wir fügen mit Hile der Applettags das neue Applet in unser HTML Dokument ein.

Sicherheit von Java Applets

Applets müssen nicht unbedingt lokal auf unserer Maschine kompiliert und gespeichert werden. Wir können Applets auch über das Internet laden. Dazu müssen wir in der APPLET Definition des HTML Dokumentes vor dem Appletnamen noch die URL Adresse voranstellen. Referenzen zu URL Adressen und HTML Tags finden Sie in unserer Bibliographie. Wir gehen hier nicht weiter darauf ein. Merken Sie sich nur, dass Applets auch über das Internet geladen werden können.

Vielleicht wissen Sie aus eigener Erfahrung, dass fremde Software, die Sie auf Diskette bekommen oder vom Internet hinunterladen, Viren enthalten kann. Mit Applets würde diese Gefahr noch zunehmen, da Dokumente Programme enthalten können, die unsere Harddisk löschten, Dateien veränderten oder unseren Computer ausspionierten. Glücklicherweise ist dem nicht so. Nur Javaprogramme, welche wir auf auf der virutellen Maschine java laufen lassen, können auf unsere Dateien zugreifen. Den Applets ist der Zugriff auf unsere Harddisk verwehrt.


Applets in Java - Tips und Hinweise - Lösungsmöglichkeit
OOP - Werkzeuge - Referenzen - Fäden - Synchronisation - Applets - Dokumentation
Werkstatt - Bibliographie