Javaschubla.de - Java als erste Programmiersprache

Applets

Applets (wörtlich "kleine Applikationen") sind Programme, die innerhalb eines Browsers (wie Firefox, Internet Explorer, Netscape, Opera, Konqueror oder Safari) laufen. Kleinere Spiele auf Websites sind oft Java-Applets (können aber auch Flash sein). Viele Beispiele kannst du dir auf zylom.de ansehen und spielen.

Applets werden durch das Java-Plugin des Browsers ausgeführt und laufen in einer Sandbox. Dadurch haben sie gegenüber normalen Programmen Sicherheitsbeschränkungen, sie können z.B. keine Dateien lesen oder schreiben. Das ist sehr wichtig, so geht der Websurfer kein Risiko ein, wenn er eine Seite besucht, in die ein Applet eingebaut ist.

Auch hier geht es wieder nicht darum, den Quellcode zu verstehen, sondern nur darum zu sehen, was man mit Java machen kann und wie man Applets in HTML-Seiten einbindet.

import java.applet.*;
import java.awt.*;

public class HalloWWW extends Applet
{
  public void init()
  {
    Label label = new Label("Hallo WWW!!");
    add(label);
  }
}

Die Datei wird unter dem Namen HalloWWW.java gespeichert und ganz normal mit javac HalloWWW.java kompiliert.

Wie man sieht, gibt es keine main-Methode. Stattdessen ruft der Browser am Anfang nacheinander init() und start(), bei jedem Neuzeichnen (z.B. nach dem Minimieren und Wiederherstellen) paint(Graphics g), beim Verlassen der Seite stop() und destroy() auf. Hier ist nur die init-Methode vertreten, das Applet tut ja auch nicht besonders viel und bedarf keiner Aufräumarbeiten.

Applets kompiliert man ganz normal mit javac, aber man kann sie nicht mit java ausführen. Stattdessen schreibt man eine HTML-Datei mit folgendem Inhalt:

"Herkömmlich"

<html>
  <head>
    <title>Hallo Applet</title>
  </head>
  <body bgcolor="#9900CC">
    <h1>Mein erstes Applet</h1>
    <p>
      <applet code="HalloWWW.class" width="150" height="80" alt="HalloWWW-Java-Applet">
      </applet>
    </p>
  </body>
</html>

Oder die neue "korrektere" Variante:

<html>
  <head>
    <title>Hallo Applet</title>
  </head>
  <body bgcolor="#9900CC">
    <h1>Mein erstes Applet</h1>
      <p>
        <object width="150" height="80"
        classid="java:HalloWWW.class" codetype="application/java">
        </object>
      </p>
  </body>
</html>

Doppelklicke auf die HTML-Datei. Das Applet wird geladen.

Wenn du etwas an dem Appletquellcode veränderst, musst du nicht nur neu kompilieren, sondern auch die HTML-Datei neu öffnen, reload/aktualisieren im Browser reicht nicht. Je nach Browser muss man evtl. den ganzen Browser neu starten.

Alternativ kann man die HTML-Datei (nur die herkömmliche Variante!) von der MS-DOS-Eingabeaufforderung oder der Konsole in den Java-Appletviewer laden:

appletviewer dateiname.html

Das hat den Vorteil, dass man die Fehlermeldungen sieht, die ja im DOS-Fenster / auf der Konsole ausgegeben werden.

Achte darauf, dass dein Java-Plugin für den Browser die gleiche (oder eine neuere) Version als dein Java-Compiler hat. Wenn du mit JDK 5.0 kompilierst, aber du hast außerdem noch die J2RE 1.4.2 installiert und dieses Plugin ist dem Browser zugeordnet, dann läuft das Applet nicht. Man kann das unter Windows in der Systemsteuerung ändern, unter Linux mit update-alternatives --config java. Wenn es nicht klappt, am besten die ältere Version deinstallieren.


Im nächsten Kapitel geht es endlich zur Sache mit Variablen.