Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Java ist auch eine Insel (2. Aufl.) von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 1.4
Java ist auch eine Insel (2. Auflage)
gp Kapitel 19 Applets, Midlets und Sound
  gp 19.1 Applets und Applikationen – wer darf was?
  gp 19.2 Das erste Hallo-Applet
  gp 19.3 Die Zyklen eines Applets
  gp 19.4 Parameter an das Applet übergeben
    gp 19.4.1 Wie das Applet den Browserinhalt ändern kann
    gp 19.4.2 Den Ursprung des Applets erfragen
    gp 19.4.3 Was ein Applet alles darf
  gp 19.5 Fehler in Applets finden
  gp 19.6 Browserabhängiges Verhalten
    gp 19.6.1 Java im Browser aktiviert?
    gp 19.6.2 Läuft das Applet unter Netscape oder Microsoft Explorer?
    gp 19.6.3 Datenaustausch zwischen Applets und Java-Skripten
  gp 19.7 Datenaustausch zwischen Applets
  gp 19.8 Musik in einem Applet und in Applikationen
    gp 19.8.1 Fest verdrahtete Musikdatei in einem Applet
    gp 19.8.2 Variable Musikdatei über einen Parameter
    gp 19.8.3 WAV- und MIDI-Dateien abspielen
  gp 19.9 Webstart
  gp 19.10 Java 2 Micro Edition
    gp 19.10.1 Konfigurationen
    gp 19.10.2 Profile


Galileo Computing

19.2 Das erste Hallo-Applet  toptop

Ein Programm wird leicht zu einem Applet, wenn es die Klasse Applet erweitert. Als Einstieg soll ein kleines Beispiel-Applet dienen.

Listing 19.1   HelloWorldApplet.java

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorldApplet extends Applet
{
  public void paint( Graphics g )
  {
    g.drawString( "Hello world!", 50, 25 );
  }
}

Die ersten beiden Import-Anweisungen binden die notwendigen Informationen über Applets und über Zeichenfunktionen ein. Das HelloWorldApplet erweitert die Klasse Applet, denn so wird ein Applet erzeugt. Eine main()-Funktion kommt nicht vor, und es muss eine Funktion paint() überladen werden, die den Bildschirmaufbau übernimmt. Der Webbrowser oder Applet-Viewer ruft diese Funktion auf.

Damit der Viewer aber überhaupt weiß, was zu machen ist, muss der HTML-Code einen Hinweis auf die Klasse geben, die in die Seite eingebettet wird. Dies wird über einen speziellen Tag erreicht.

Listing 19.2   index.html

<html><body>
<applet code="HelloWorldApplet.class" width="200" height="100"></applet>
</body></html>

Neben dem Namen der Klasse vermittelt das Applet-Tag der virtuellen Maschine auch noch die Ausmaße des Fensters, in dem das Applet zeichnen kann.

Hinweis   Sun hat in der SVersion 1.4 geringfügig das Format für die Bytecode-Dateien geändert. Viele Browser und ihre virtuellen Maschinen habe damit Probleme. Um dem Compiler aus dem Java SDK 1.4 (und folgende) anzuweisen, das ältere Format zu erzeugen, muss der Schalter –target 1.1 angegeben werden.

Unter Java 1.1 (und das können die allermeisten Browser) lassen sich auch gepackten Dateien im Jar-Format übermitteln. Die Angabe der Klasse in der Code-Anweisung sollte keine Leerzeichen beinhalten, da dies dem Communicator und dem Applet-Viewer Probleme bereitet. Die Endung .class ist nicht in jedem Browser erforderlich, aber empfohlen.

Tipp   Ein Applet im ganzen Browserfenster sichtbar machen. Mit einem HTML-Trick lässt sich eine Webseite so aufbauen, dass sie die maximale Ausdehnung bekommt.

<html><head>
<style type="text/css">
body { margin : 0 }
</style></head><body>
<applet code="applet.class" width="100%" height="100%"></applet>
</body></html>

Mit CSS, was ab IE 5 und Netscape 4 unterstützt wird, schalten wir die Verschiebung um ein paar Pixel aus. Da ein Applet in einem Browserfenster angezeigt wird, ist es in Java nicht möglich, die Dekoration des Browsers wegzuschalten. Mit einem neuen Fenster ohne Dekoration, welches von JavaScript angelegt wird, und einer geschickten Verschiebung, ließe sich dies jedoch bewerkstelligen.





Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de