Java Einführungs-Seminar
Hello World
Ampel/Javascript
Pfad-Info
Bild anzeigen
Bildsequenz
AWT-Applet
Spektrum
Fokus- Applet

Java - Arbeiten mit Applets

Applets, die kleinen Applikationen, sind keine eigenständigen Programme, sondern werden in die Ablaufumgebung eines Browsers eingebette. Also kennen sie keine main()-Methode.Zum Schreiben von Applets benötigen wir die Kenntnis, wie ein Applet in eine HTML-Seite eingebunden wird, und wie man ein solches Applet schreibt. 

Java Applikationen können mit Kommandozeilen und graphischer Umgebung arbeiten, Applets verwenden immer die graphische Umgebung des Browsers. Da Applets zentral auf einem Server liegen, können sie sehr einfach für alle Benutzer gepflegt und verbessert werden.

Es ist möglich Java-Programme zu schreiben, die sowohl als Applikation als auch als Applet funktionieren.

Ein erstes Applet

Das Applet kann auf zwei Arten von externen Ereignissen reagieren
  1. Reaktion auf Erzeugen und Ablauf
  2. Eingaben über Tastatur und Maus (allgemeine Ereignisse)Applets arbeiten als Event-Handler und nutzen die GUI als Ein- und Ausgabemöglichkeit. 


Ein Applet kann optional 4 Ereignisse des Browsers bedienen.

  • public void int()  // Beim Laden des Applets
  • public void start() // Beim Start des Applets
  • public void stop()  // zum vorübergehenden Stoppen des Applets
  • public void destroy() // Aufräumarbeiten vor dem Ende
Zur Ausgabe dienen drei Methoden:
  • public void paint(Graphics g)  // graphische Ausgabefunktion
  • public void update(Graphics g) // Ausgabestrategie
  • public void repaint() // anfordern der Ausgabe
Applets sollen folgende Methoden zur Information überlagern:
  • public String getAppletInfo()  // Gib Informationen über Autor, Version, und Copyright des Applets zurück. 
  • public String[][] getParameterInfo()  // Gibt Parameterinformation zurück: Feld aus 3-er Feldern mit: Name, Wertebereich und Zweck 
Die Lebensdauer unseres Applets durchläuft folgende Schritte:
  • der Browser lädt den Applet-Code
  • nun wird ein Objekt der Programmklasse angelegt und durch den Default-Konstruktor initialisiert.
  • danach wird die Methode init() fürdas Programmobjekt gerufen und schließlich
  • wird das Programm über den Aufruf der Methode start() gestartet
  • beim Verlassen der Seite/Minimiereung kann stop() gerufen werden
  • bei der Rückkehr wird dann start() benutzt
  • und schließlich wird destroy() vor dem Ende des Applets gerufen.

Einbinden von Applets in eine HTML-Seite

Innerhalb einer HTML-Seite kann ein Tag benutzt werden, um ein Programm zu laden, das innerhalb der momentanen Seite angezeigt wird. Damit lassen sich interaktive Bearbeitungen, Animationen und vieles mehr realisieren.
In HTML Version 3.2 wird dazu der APPLET Tag benutzt.

<APPLET CODEBASE=URL, CODE=string, NAME=string, ALT=string, ALIGN=left|right|top|middle|bottom, HEIGHT=n, WIDTH=n, HSPACE=n, VSPACE=n>
[<PARAM NAME="x" VALUE="y">]...
</APPLET>

Mit CODEBASE kann ein Default-Verzeichnis angebene werden, in dem der Code steht. Bei CODE gibt man den Programmnamen evtl. mit der Endung ".class" an. Hier darf kein Pfad angegeben werden. In ALT sollte ein Hilfstext für Browser stehen, die dieses Applet nicht anzeigen können. HEIGHT und WIDTH spezifiziert das Arbeitsfenster des Applets, H- und VSPACE geben eine Umrandung an und ALIGN richtet das Fenster auf der Seite aus.
Das PARAM Element gibt Parameter für das gerufene Applet an. Paremeter werden von Applets mit ihrem Namen abgeholt (und nicht, wie in C, als Feldeintrag in argv). Groß- und Kleinschreibung wird bei parameternamen unterschieden.

Wenn ein Browser mit Java das <APPLET> Element findet, reserviert er den gewünschten Anzeigebereich, lädt den Bytecode für die angegebene Applet Subklasse, erzeugt ein Objekt der Subklasse (mit Konstruktorauffruf) und ruft die zugehörigen init() und start() Methoden auf.
 

Schreiben von Applets

Ein Applet wird als abgeleitete Klasse definiert. Als Oberklasse dient dabei "Applet". Diese Klasse und die zur Darstellung notwendige Graphic-Klassen werden importiert.
Graphische Ausgaben des Applets
Die Ausgaben sind auf das in der HTML-Seite fest reservierte Fenster beschränkt. Eine Größenveränderung ist nicht möglich. Die Ausgaben verwenden die Methoden update() und paint(). Update steuert die Ausgabe (z.B. vor einem paint() löschen etc.) und paint() macht die eigentliche Ausgabe.

public class Simple extends Applet 
{
void paint(Graphics g)
  {
  ...
  }
}

Koordinatensystem
Die linke obere Ecke ist (0,0). Die rechte untere Ecke ist (x,y). x und y sind dabei positive Werte.
Beschränkungen für Applets
Applets werden innerhalb einer Browser-Umgebung ausgeführt, die einstellbare Sicherheitsmechanismen hat.

Versionsprobleme

Leider unterstützen viele Browser Java-Applets nur unvollständig. Vermutlich setzt Microsoft keine Priorität auf die Entwicklung einer Hersteller-neutralen Umgebung und vermutlich ist Netscape nicht reich genug, um ihren Browser schnell genug weiter zu entwickeln. Sun hat daher ein Plugin geschrieben, das den Browser (ab 4.0) die nötige Umgebung bereitstellt. Installieren Sie daher immer das Sun-Plugin.

Das Seminar wurde entwickelt von Walter Herglotz, München.
© Copyright "walter digital", München, Walter Herglotz, 1999-2000