Einbinden von Java-Applets in HTML-Dateien: Unterschied zwischen den Versionen
K (→Einbinden eines Applets von einem anderen Server) |
K (→Einbinden eines Applets aus einem anderen Verzeichnis) |
||
Zeile 38: | Zeile 38: | ||
==Einbinden eines Applets aus einem anderen Verzeichnis== | ==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. | 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. | In diesem Beispiel liegt die Jar-Datei in einem Verzeichnis namens '''applets''' - über dem Verzeichnis, in dem sich die einbettende HTML-Datei befindet. | ||
Zeile 45: | Zeile 46: | ||
</object> | </object> | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | '''Beispiel 2''' | ||
+ | <pre><object codetype="application/java-archive" | ||
+ | codebase="./applets" archive="MyAppletLib.jar" classid="java:applets.MyApplet.class" | ||
+ | width="400" height="300"> | ||
+ | </object></pre> | ||
+ | In diesem Beispiel befindet sich das Applet und alle noch benötigten Dateien und Klassen in einem Jar-Archiv namens [i]MyAppletLib.jar[/i]. 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== | ==Einbinden eines Applets von einem anderen Server== |
Version vom 22. August 2013, 15:36 Uhr
Damit ein Webbrowser Java-Applets zur Anzeige bringen und ausführen kann, gibt es derzeit zwei verschiedene HTML-Tags.
Inhaltsverzeichnis
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 [i]MyAppletLib.jar[/i]. 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>