Einbinden von Java-Applets in HTML-Dateien

Aus Byte-Welt Wiki
Version vom 22. August 2013, 15:37 Uhr von L-ectron-x (Diskussion | Beiträge) (Einbinden eines Applets aus einem anderen Verzeichnis)
Zur Navigation springenZur Suche springen

Damit ein Webbrowser Java-Applets zur Anzeige bringen und ausführen kann, gibt es derzeit zwei verschiedene HTML-Tags.

Das Object-Tag

Das Object-Tag zur Einbindung von Multimedia-Elementen in Webseiten wurde mit HTML 4.0 bzw. XHTML 1.0 in den Standard übernommen und löst nun das Applet-Tag ab. Das Applet-Tag gilt als veraltet und sollte nicht mehr verwendet werden.

Einbinden einer Applet-Klasse

Um ein Applet mit dem Object-Tag in eine Webseite einzubinden, werden folgende Zeilen notiert:

<object classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="800" height="600">
</object>

Applets in Packages

Normalerweise werden Java-Klassen in Packages zusammen gefasst. Bei der Erzeugung des Applet-Tags gibts dann einige Dinge zu beachten. So muss nun auch der Name des Packages in das code-Attribut.

Beispiel:

<object classid="java:applets.MyApplet.class"
   codetype="application/java-archive" width="400" height="300">
</object>

Das Applet deklariert ein hier ein Package applets, also muss die class-Datei im Verzeichnis applets liegen. Die HTML-Datei muss oberhalb von applets, d.h. eine Verzeichnisebene über applets liegen.

Einbinden eines Applets aus einer Jar-Datei

Applets können auch in einer Jar-Datei zusammengefasst und komprimiert werden, was einerseits die Übertragung verkürzt, andererseits bspw. zum Signieren von Applets erforderlich ist.

<object archive="MeinJar.jar" classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="800" height="600">
</object>

Einbinden mehrerer Jar-Dateien

Manchmal benötigt man externe Bibliotheken, bspw. XML-Bibliotheken oder LookAndFeel's, die in einer Jar-Datei ausgeliefert werden.
Mehrere Jar-Dateien werden im archive-Attribut mit Kommata getrennt aufgelistet.

<object archive="MeinJar.jar, ExterneJar.jar" classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="800" height="600">
</object>

Einbinden eines Applets aus einem anderen Verzeichnis

Beispiel 1

Wenn das Applet nicht auf dem gleichen Rechner oder in einem anderen Verzeichnis (unabhängig von deklarierten Packages) wie die einbettende HTML-Datei liegt, kommt das codebase-Attibut ins Spiel. In diesem Beispiel liegt die Jar-Datei in einem Verzeichnis namens applets - über dem Verzeichnis, in dem sich die einbettende HTML-Datei befindet.

<object codebase="../applets" archive="MeinJar.jar" classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="800" height="600">
</object>


Beispiel 2

<object codetype="application/java-archive"
     codebase="./applets" archive="MyAppletLib.jar" classid="java:applets.MyApplet.class" 
     width="400" height="300">
</object>

In diesem Beispiel befindet sich das Applet und alle noch benötigten Dateien und Klassen in einem Jar-Archiv namens MyAppletLib.jar. Das Jar-Archiv ist in dem im codebase-Attribut angebenen Verzeichnis relativ zur HTML-Datei gespeichert (Eine Verzeichnisebene tiefer, im Verzeichnis applets). Würde bspw. das codebase-Attribut fehlen, müsste die Jar-Datei im Verzeichnis der HTML-Datei gespeichert sein. Im Jar-Archiv existiert im Wurzelverzeichnis ein Package namens applets in welchem das Applet liegt.

Einbinden eines Applets von einem anderen Server

In diesem Beispiel liegt die Jar-Datei auf einem anderen Webserver in einem Verzeichnis namens applets.

Der Browser wird also angewiesen, das Applet von der im codebase-Attribut angegebenen URL zu laden. Auch hier liegt das Applet wieder in einem Package applets.

<object codebase="http://www.meine-domain.de/applets" archive="MeinJar.jar" classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="800" height="600">
</object>

Zusätzliche Attribute

param

Applets sind keineswegs starre Konstrukte. Es können von außen durch Parameter Werte eingeschleust werden, die entweder statisch festgelegt oder dynamisch, bspw. mit PHP generiert wurden.

<object classid="java:MeinApplet.class" 
    codetype="application/java-vm" width="400" height="300">
    <param name="bild1" value="duke.gif" />
</object>

Das Applet-Tag

Bis zur Verabschiedung des HTML 4.0-Standards, war das Applet-Tag zum Einbinden von Java-Applets in Webseiten vorgesehen. Inzwischen gilt es als veraltet und wurde vom W3C mit dem Object-Tag ersetzt.

Einbinden einer Applet-Klasse

<applet code="MeinApplet.class" width="800" height="600">
</applet>

Einbinden eines Applets aus einer Jar-Datei

<applet archive="MeinJar.jar" code="MeinApplet.class" width="800" height="600">
</applet>

Einbinden mehrerer Jar-Dateien

<applet archive="MeinJar.jar,ExternesJar.jar" code="MeinApplet.class" width="800" height="600">
</applet>

Einbinden eines Applets aus einem anderen Verzeichnis

In diesem Beispiel liegt die Jar-Datei in einem Verzeichnis namens applets - über dem Verzeichnis, in dem sich die einbettende HTML-Datei befindet.

<applet codebase="../applets" archive="MeinJar.jar" code="MeinApplet.class" width="800" height="600">
</applet>

Einbinden eines Applets von einem anderen Server

In diesem Beispiel liegt die Jar-Datei auf einem anderen Webserver in einem Verzeichnis namens applets.

<applet codebase="http://www.meine-domain.de/applets" archive="MeinJar.jar" code="MeinApplet.class" width="800" height="600">
</applet>

Zusätzliche Attribute

param

Mit dem Parameter-Attribut können in der Webseite beliebige Werte von außen ins Applet eingeschleust und verarbeitet werden.

<applet code="MeinApplet.class" width="800" height="600">
<param name="bild1" value="duke.gif">
</applet>