From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100250.html | 440 +++++++++++++++++++++ 1 file changed, 440 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100250.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100250.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100250.html b/Master/Reference Architectures and Patterns/hjp5/html/k100250.html new file mode 100644 index 0000000..a26b70e --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100250.html @@ -0,0 +1,440 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 39 - Applets I +
+
+ + + + +

39.2 Einbinden eines Applets

+
+ +
+ + + + +

39.2.1 Das APPLET-Tag

+ +

+Das Einbinden eines Applets in ein HTML-Dokument +erfolgt unter Verwendung des APPLET-Tags, es wird also durch <APPLET> +eingeleitet und durch </APPLET> +beendet. Zwischen den beiden Marken kann ein Text stehen, der angezeigt +wird, wenn das Applet nicht aufgerufen werden kann. Ein applet-fähiger +Browser ignoriert den Text. Beispiel: + + +

+ + + + +
+ +
+001 <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=200>
+002 Hier steht das Applet Hello
+003 </APPLET>
+
+
+ +Listing 39.4: Das APPLET-Tag

+ +

+Ein Applet-Tag wird wie normaler Text in die Browser-Ausgabe eingebunden. +Das Applet belegt soviel Platz auf dem Bildschirm, wie durch die Größenangaben +WIDTH +und HEIGHT +reserviert wurde. Soll das Applet in einer eigenen Zeile stehen, müssen +separate Zeilenschaltungen in den HTML-Code eingebaut werden (beispielsweise +<p> oder <br>), +oder es muss ein Tag verwendet werden, dessen Ausgabe in einer eigenen +Zeile steht (z.B. <h1> +bis <h6>). + +

+Neben dem Ersatztext, der zwischen dem Beginn- und Ende-Tag steht, +besitzt ein Applet-Tag weitere Parameter: +

+ +

+Zwischen beiden Parameterarten besteht ein grundsätzlicher Unterschied. +Während die Parameter der ersten Gruppe (also CODE, +WIDTH +und HEIGHT) +vom Browser interpretiert werden, um die visuelle Darstellung des +Applets zu steuern, werden die Parameter der zweiten Gruppe an das +Applet weitergegeben. Der Browser übernimmt bei ihnen nur die +Aufbereitung und die Übergabe an das Applet, führt aber +selbst keine Interpretation der Parameter aus. + + + + +

39.2.2 Die Parameter des Applet-Tags

+ +

+Der wichtigste Parameter des Applet-Tags heißt CODE +und gibt den Namen der Applet-Klasse an. Bei der Angabe des CODE-Parameters +sind einige Dinge zu beachten: +

+ +

+Alternativ kann die Klassendatei auch in einem der Verzeichnisse liegen, +die in der Umgebungsvariablen CLASSPATH +angegeben wurden. CLASSPATH +enthält eine Liste von durch Kommata getrennten Verzeichnissen, +die in der Reihenfolge ihres Auftretens durchsucht werden. CLASSPATH +spielt außerdem beim Aufruf des Compilers eine Rolle: Sie dient +dazu, die importierten Pakete zu suchen. + +

+Das Applet-Tag hat zwei weitere nichtoptionale Parameter WIDTH +und HEIGHT, die die Höhe +und Breite des für das Applet reservierten Bildschirmausschnitts +angeben. Innerhalb des Applets steht ein Rechteck dieser Größe +als Ausgabefläche zur Verfügung. + +

+Das Applet-Tag besitzt weitere optionale Parameter. Diese dienen zur +Konfiguration des Applets und zur Beeinflussung der Darstellung des +Applets und des umgebenden Textes. Tabelle 39.1 +gibt einen Überblick über die verfügbaren Parameter: + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterBedeutung
CODEBASEHier kann ein alternatives Verzeichnis für +das Laden der Klassendateien angegeben werden. Fehlt diese Angabe, +wird das Dokumentenverzeichnis genommen.
ARCHIVEAngabe eines JAR-Archivs, +aus dem die Klassendateien und sonstigen Ressourcen des Applets geladen +werden sollen. Ein Beispiel zur Verwendung des ARCHIV-Parameters ist +in Abschnitt 51.6 bei der Vorstellung +von jar +zu finden.
OBJECTName einer Datei, die den serialisierten +Inhalt des Applets enthält
ALTAlternativer Text für solche Browser, +die zwar das Applet-Tag verstehen, aber Java nicht unterstützen +
NAMEEindeutiger Name für das Applet. Er +kann zur Unterscheidung mehrerer, miteinander kommunizierender Applets +auf einer Webseite verwendet werden.
ALIGNVertikale Anordnung des Applets in einer +Textzeile. Hier kann einer der Werte left, +right, +top, +texttop, +middle, +absmiddle, +baseline, +bottom +oder absbottom +angegeben werden.
VSPACERand über und unter dem Applet
HSPACERand links und rechts vom Applet
+

+Tabelle 39.1: Optionale Parameter des APPLET-Tags

+ + + + +

39.2.3 Parameterübergabe an Applets

+ +

+Neben den Parametern des Applet-Tags gibt es die Möglichkeit, +Parameter an das Applet selbst zu übergeben. Dazu kann innerhalb +von <APPLET> und </APPLET> +das optionale Tag <PARAM> +verwendet werden. Jedes PARAM-Tag besitzt die beiden Parameter name +und value, die den Namen und +den Wert des zu übergebenden Parameters angeben. + +

+Innerhalb des Applets können die Parameter mit der Methode getParameter +der Klasse Applet +abgefragt werden: +

+ + + + + +
+ +
+public String getParameter(String name)
+
+
+
+java.applet.Applet
+ +

+Für jeden angegebenen Parameter liefert getParameter +den zugehörigen Wert als String. +Numerische Parameter müssen vor der weiteren Verwendung also +erst konvertiert werden. Wird der angegebene Parameter nicht gefunden, +gibt die Methode null +zurück. + +

+Das folgende Listing demonstriert den Einsatz von getParameter +am Beispiel eines Applets, das eine rot-weiße Schranke zeichnet. +Das Applet erwartet zwei Parameter redwidth +und whitewidth, die die Breite +des roten und weißen Abschnitts angeben. Diese werden in der +init-Methode +gelesen und dem Array dx zugewiesen. +In paint +wird dieses Array dann verwendet, um abwechselnd weiße und rote +Parallelogramme der gewünschten Größe auszugeben. +Insgesamt entsteht dadurch der Eindruck einer rot-weißen Schranke: + + +

+ + + + + +
+ +
+001 /* Schranke.java */
+002 
+003 import java.awt.*;
+004 import java.applet.*;
+005 
+006 public class Schranke
+007 extends Applet
+008 {
+009   private int[] dx;
+010   private Color[] color;
+011 
+012   public void init()
+013   {
+014     String tmp;
+015 
+016     dx = new int[2];
+017     try {
+018       dx[0] = Integer.parseInt(
+019         getParameter("redwidth")
+020       );
+021       dx[1] = Integer.parseInt(
+022         getParameter("whitewidth")
+023       );
+024     } catch (NumberFormatException e) {
+025       dx[0] = 10;
+026       dx[1] = 10;
+027     }
+028     color = new Color[2];
+029     color[0] = Color.red;
+030     color[1] = Color.white;
+031   }
+032 
+033   public void paint(Graphics g)
+034   {
+035     int maxX = getSize().width;
+036     int maxY = getSize().height;
+037     int x = 0;
+038     int flg = 0;
+039     Polygon p;
+040     while (x <= maxX+maxY/2) {
+041       p = new Polygon();
+042       p.addPoint(x,0);
+043       p.addPoint(x+dx[flg],0);
+044       p.addPoint(x+dx[flg]-maxY/2,maxY);
+045       p.addPoint(x-maxY/2,maxY);
+046       p.addPoint(x,0);
+047       g.setColor(color[flg]);
+048       g.fillPolygon(p);
+049       x += dx[flg];
+050       flg = (flg==0) ? 1 : 0;
+051     }
+052   }
+053 }
+
+
+Schranke.java
+ +Listing 39.5: Ein parametrisiertes Applet

+ +

+Das folgende HTML-Dokument zeigt die Einbindung eines Schranken-Applets +mit einer Höhe von 10 Pixeln und einer Breite von 400 Pixeln. +Die roten Felder der Schranke sind 10 und die weißen 7 Pixel +breit: + + +

+ + + + + +
+ +
+001 <html>
+002 <head>
+003 <title>Schranke</title>
+004 </head>
+005 <body>
+006 <h1>Schranke</h1>
+007 <applet code="Schranke.class" width=400 height=10>
+008 <param name="redwidth" value=10>
+009 <param name="whitewidth" value=7>
+010 Hier steht das Applet Schranke.class
+011 </applet>
+012 </body>
+013 </html>
+
+
+Schranke.html
+ +Listing 39.6: Die HTML-Datei zum Schranken-Applet

+ +

+Beim Aufruf mit dem Netscape Navigator sieht die Ausgabe des Applets +so aus: +

+ + +

+ +

+Abbildung 39.2: Darstellung des Schranken-Applets im Netscape Navigator

+

+ + + + + + + + + +
+ +

+Im Gegensatz zu einer Applikation wird ein Applet nicht direkt mit +dem Java-Interpreter java.exe +aufgerufen. Statt dessen wird es in eine HTML-Datei eingebunden und +indirekt über den Appletviewer +oder einen Web-Browser aufgerufen, der die HTML-Datei lädt. Unser +Programm kann beispielsweise mit dem folgenden Kommando gestartet +werden:

+ + + + +
 Hinweis 
+
+ +

+appletviewer Schranke.html
+
+ + +

+Auch die »echten« Web-Browser können meist mit einer +Datei als Argument aufgerufen werden. Alternativ kann die HTML-Datei +natürlich auch direkt aus dem laufenden Browser geladen werden. +Der Applet-Viewer ist kein vollwertiger Browser, sondern extrahiert +lediglich die APPLET-Tags +und ihre Parameter, um die in der HTML-Datei angegebenen Applets zu +starten. +


+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3