next up previous contents
Next: Listings Up: JAVA - ein kurzer Previous: Klassenbibliothek

Hello World

Sowohl selbständige Applications als auch Applets für WWW-Anwendungen können mit Java leicht programmiert werden. Applets sind in Java erstellte Programme, die, in WWW-Seiten eingebunden, über das WWW heruntergeladen und von einem Browser auf dem Rechner des Benutzers ausgeführt werden. Applications sind Programme, die zu ihrer Ausführung keinen Browser benötigen, sondern mittels eines Interpreters selbständig auf jedem Rechner laufen. Sie haben im Gegensatz zu Applets auch Zugang zum Dateisystem eines Rechners, während das bei Applets unterbunden wurde. Damit wird einem Programm aus dem Netz keine Möglichkeit gegeben, Schäden auf dem jeweiligen Rechner anzurichten.

Ein Java-Programm kann entweder ein Applet oder eine Application oder auch beides sein. Das klassische Beispielprogramm Hello World soll das exemplarisch vorstellen. Das erste Programm ist eine selbständige Application:

 class HelloWorld {
     public static void main (String args[]) {
         System.out.println("Hello World!");
     }
 }
Das Programm muß unter HelloWorld.java abgespeichert werden, nach dem Namen der Klasse, die definiert wird. Der Rest des Programms, der Programmkörper, besteht hier aus einer main-Routine, die wie in C oder C++ auch, als erste beim Start aufgerufen wird. Dieses Programm gibt die Zeile Hello World! am Bildschirm aus.

Um es als Applet zu verwenden, muß es folgendermaßen geändert werden:
import java.awt.Graphics;

public class HelloWorldApplet extends java.applet.Applet {
     public void paint(Graphics g) {
         g.drawString("Hello World!", 5, 25);
     }
}
In diesem Fall muß es unter HelloWorldApplet.java abgespeichert werden. Wichtig ist, daß jedes Applet die Signatur
public class appletClass extends java.applet.Applet {
    ...
}
am Anfang als Erweiterung der Klassendefinition stehen hat. Dabei wird eine Unterklasse der Applet-Klasse gebildet. Diese stellt alle Eigenschaften, die für ein Applet typisch sind, zur Verfügung. Hier wird z.B. festgelegt, daß ein Applet in einem Browser abläuft oder daß es Elemente einer GUI darstellen kann, die wiederum in dem AWT-Package definiert sind. Deswegen wird am Anfang des Programms mit import die Graphics-Klasse, die ein Teil des AWT-Package ist, importiert (siehe A.2). Dadurch ist das Zeichnen und Darstellen auf dem Bildschirm erst möglich, was hier innerhalb der paint-Methode erfolgt.

Wie vielleicht oben auffällt, ist eine main-Prozedur in Applets nicht erforderlich. Hier sind, abhängig von dem Hauptanliegen des Applets, andere Prozeduren wichtig. Z.B. wird init() beim ersten Laden eines Applet als erstes aufgerufen, um den Anfangsstatus, die Fonts oder Parameter zu setzen. Beim Fehlen dieser Prozedur in einem Applet wird eine Default-Funktion ausgeführt, wobei dann Standardwerte eingesetzt werden.

Weitere wichtige Funktionen für Applets sind paint(), start(), stop() und destroy(). start() wird nach der Initialisierung aufgerufen und auch jedesmal beim neuen Zugriff auf die Web-Seite, die das Applet enthält. Ganz im Gegensatz zu init() kann also start() öfters im Leben eines Applets aufgerufen werden, während init() nur einmal ausgeführt wird. Wird ein Link auf eine andere Web-Seite verfolgt, so wird stop() aufgerufen, um das Applet zu beenden. Fehlt diese Prozedur, so wird das Applet beim Verlassen der Web-Seite weiter ausgeführt und verbraucht dabei Systemressourcen. Mit der destroy()-Funktion kann ein Applet nach Bedarf hinter sich aufräumen. Es kann z.B. beim eigenen Beenden oder das des Browsers, in dem es läuft, laufende Threads abstellen. In der paint()-Methode wird die Art und Weise festgelegt, wie das Applet auf den Bildschirm dargestellt werden soll. Diese Prozedur kann auch öfters im Leben eines Applet ausgeführt werden. Das erste Mal gleich nach der Initialisierung und dann immer wieder, wenn z.B. ein fremdes Fenster über das eigene gelegt und wieder entfernt wird.

Das Applet wird mit Hilfe eines <APPLET>-Tag in eine Web-Seite eingebunden:

<APPLET CODE="HelloWorldApplet.class" WIDTH=150 HEIGHT=25></APPLET>
Dabei wird mit CODE der Name der Klasse angegeben, die das Applet enthält und mit HEIGHT und WIDTH die Dimension des Applets.


next up previous contents
Next: Listings Up: JAVA - ein kurzer Previous: Klassenbibliothek
Copyright Munich Network Management Team