Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


7.2.2

Java-Plug-in



Applets können sowohl im Appletviewer als auch im Browser ausgeführt werden. Da der Appletviewer jeweils mit dem aktuellen JDK bzw. SDK mitgeliefert wird, unterstützt er automatisch die neueste Version. Bei der Java-Unterstützung in Browsern gibt es in der Praxis folgende Probleme: Diese beiden Probleme können durch Verwendung des Java-Plug-in umgangen werden. Das Java-Plug-in ist ein herkömmliches Browser-Plug-in, das es ermöglicht, einen bestimmten Java-Interpreter im Browser zu verwenden. Kommt eine neue Java-Version auf den Markt, kann der Anwender selbst die Java-Laufzeitumgebung im Browser aktualisieren, ohne zu warten, bis neue Browser-Versionen erscheinen. Außerdem hat man dadurch die Möglichkeit, Inkompatibilitäten zu umgehen, indem man selbst die Java-Laufzeitumgebung wählt, die man benutzen möchte.

Das Java-Plug-in wird von Sun Microsystems entwickelt und ist sowohl für den Microsoft Internet Explorer als auch den Netscape Navigator ab der Version 3.0 verfügbar.

Neuere Versionen des Java-Plug-in (z. B. das mit dem J2SDK 1.4 mitgelieferte) sind in der Lage im Internet Explorer ab Version 4.0 und Netscape ab Version 6 das Standard-Applet-Tag auszuwerten. Dadurch werden alle Applets, die durch das <APPLET>-Tag eingebunden sind, automatisch im Plug-in statt in der beim Browser mitgelieferten Laufzeitumgebung ausgeführt. Beim Internet Explorer kann man in den Internetoptionen im Register Erweitert nach der Installation des Java-Plug-in einstellen, welche Java-Laufzeitumgebung für die Ausführung von Applets benutzt wird, die durch das <APPLET>-Tag eingebunden sind.

Da das Java-Plug-in die vordefinierte Plug-in-Schnittstelle der Browser verwendet, kann man alternativ für Applets, die explizit vom Plug-in abgespielt werden sollen, mit anderen Tags in die HTML-Seite einbinden. Der Internet Explorer stellt hierfür das <OBJECT>-Tag, der Netscape Navigator das <EMBED>-Tag zur Verfügung. Falls man explizit das Plug-in verwenden und gleichzeitig unterschiedliche Browser unterstützen möchte, steht man nun vor dem Problem, im HTML-Code verschiedene Browser zu berücksichtigen. Im Folgenden wird beschrieben, wie das <APPLET>-Tag aus dem letzten Abschnitt
 <APPLET CODE="helloworld.class" WIDTH="200" HEIGHT="100">
   Sorry, your Browser doesn't support Applets
 </APPLET>
für die Verwendung der unterschiedlichen Plug-in-Schnittstellen angepasst werden muss.

Internet Explorer

Im Internet Explorer wird das Beispiel-Applet mit folgendem HTML-Codeausschnitt über die Plug-in-Schnittstelle eingebunden:
<OBJECT CLASSID="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
        WIDTH="200" HEIGHT="200" ALIGN="left" >
  <PARAM NAME="code" VALUE="helloworld.class">
  <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
    Sorry, your Browser doesn't support Applets
</OBJECT>
Das Attribut classid identifiziert das Plug-in, das verwendet werden soll. Mit dem oben genannten Wert wird das Java-Plug-in eindeutig definiert und kann vom Browser aktiviert werden. Die restlichen verwendeten Attribute des <OBJECT>-Tags besitzen dieselbe Funktion, wie die gleichnamigen Attribute des <APPLET>-Tags. Der Klassenname wird hier über das <PARAM>-Tag angegeben, dessen Attribut NAME den Wert code hat. Durch den Parameter mit dem Namen type wird der eingebundene Java-Code näher spezifiziert. Der Wert von type ist entweder application/x-java-applet (bei einem Applet) oder application/x-java-bean (bei einer Java-Bean-konformen Komponente). Optional kann zusätzlich durch Semikolon getrennt die Version der Java-Klassen angegeben werden. Für Browser, die das <OBJECT>-Tag nicht kennen, wird auch in diesem Fall ein alternativer Text angegeben.

Netscape Navigator

Der entsprechende Codeausschnitt hat für den Netscape Navigator folgende Gestalt:
  <EMBED TYPE="application/x-java-applet;version=1.2"
         WIDTH="200" height="200" ALIGN="left" 
         CODE="helloworld.class">
    <NOEMBED>
      Sorry, your Browser doesn't support Applets
    </NOEMBED>
  </EMBED>
Beim <EMBED>-Tag werden alle Angaben direkt in Form von Attributen gemacht. Die angegebenen Werte wurden bereits im letzten Abschnitt erläutert.

Ein Unterschied zum letzten Abschnitt besteht jedoch bei der Angabe des alternativen Textes. Hier wird der Text zusätzlich in die NOEMBED-Umgebung eingeschlossen. Im letzten Abschnitt wurde der Text nur angezeigt, falls der Browser das Tag nicht kennt. Befindet sich der alternative Text in einer <NOEMBED>-Umgebung, wird der Text außerdem gezeigt, wenn der Browser das Tag zwar kennt, beim Laden des Plug-in aber ein Fehler auftritt.

Internet Explorer und Netscape Navigator

Es besteht die Möglichkeit, das <EMBED>- und <OBJECT>-Tag so in einer HTML-Seite zu vereinen, dass sowohl der Internet Explorer als auch der Netscape Navigator nur die jeweils relevanten Teile interpretieren. Das hat den Vorteil, dass man für beide Browser nur eine HTML-Seite verwalten muss. Die Kombination aus beiden Tags sieht folgendermaßen aus:
<OBJECT CLASSID=":8AD9C840-044E-11D1-B3E9-00805F499D93"
        WIDTH="200" HEIGHT="200" ALIGN="left" >
  <PARAM NAME="code" VALUE="helloworld.class">
  <PARAM NAME="type" VALUE="application/x-java-applet;version=1.2">
  <COMMENT>
  <EMBED TYPE="application/x-java-applet;version=1.2"
         WIDTH="200" HEIGHT="200" ALIGN="left" 
         CODE="helloworld.class">
  <NOEMBED>
  </COMMENT>
    Sorry, your Browser doesn't support Applets
  </NOEMBED></EMBED>
</OBJECT>
Lädt der Internet Explorer die Seite mit obigem Codeausschnitt, so interpretiert er das <OBJECT>-Tag und die darin enthaltenen <PARAM>-Tags. Die Anweisungen in der <COMMENT>-Umgebung werden vom Internet Explorer überlesen.

Wird der Code vom Netscape Navigator geladen, so wird das <OBJECT>-Tag und die nachfolgenden <PARAM>-Tags überlesen-ebenso das anschließende <COMMENT>-Tag, da es der Netscape Navigator nicht kennt. Anschließend kann der Navigator die <EMBED>-Umgebung auswerten. Bei der Verwendung des Java-Plug-in sollte man berücksichtigen, dass man Java-Applets nicht mehr mit der Standard-Laufzeitumgebung des Browsers abspielt. Dadurch, dass bei der Verwendung des Plug-in die HTML-Tags verändert werden, kann das Applet nicht mehr in der eingebauten Standard-Laufzeitumgebung des Browsers gestartet werden. Dies kann man jedoch umgehen, indem man noch einen Schritt weitergeht und das Tag, durch das das Applet eingebunden wird, dynamisch durch JavaScript generiert. Mit JavaScript hat man die Möglichkeit, zunächst abzufragen, ob der Browser über das Java-Plug-in verfügt (wobei es hier wiederum Unterschiede zwischen den Netscape- und Microsoft-Versionen gibt). Falls ja, wird das Tag für den verfügbaren Browser und das Plug-in generiert. Falls nein, wird ein <APPLET> erzeugt, durch das die eingebaute Laufzeitumgebung verwendet wird. Ein Beispiel zum Abfragen der Browser-Version und zum dynamischen Generieren des HTML-Tags ist im Abschnitt 4.9 beschrieben.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.