Ein Java-Applet wird aus dem Package java.applet abgeleitet. Im Laufe des Appletlebens können die 4 Methoden init(), start(), stop(), destroy() aufgerufen werden.
Unterschiede zwischen Applets und Anwendungen
Der Unterschied zwischen Java-Applets und -Applikationen liegt in der Art, wie diese ausgeführt werden. Applikationen werden mit dem Java-Interpreter ausgeführt, der die Haupt-.class-Datei der Applikation lädt. Dazu wird meist das java-Tool des JDK von der Kommandozeile aus aufgerufen.
Java-Applets hingegen werden innerhalb eines WWW-Browsers ausgeführt, der Java unterstützt. Applets können zusätzlich mit dem Applet-Viewer, der im Java Developer's Kit enthalten ist, angezeigt werden.
Ausführung
Um ein Applet auszuführen, muss es in eine Webseite eingefügt werden. Dies geschieht mit Hilfe von HTML-Tags, wie das auch bei Bildern und anderen Elementen der Fall ist. Wie eine Applikation hat auch ein Applet eine Haupt-.class-Datei und beliebige weitere .class-Dateien, die zur Ausführung des Applets benötigt werden. Die Standard-Klassenbibliothek von Java ist automatisch enthalten.
Ein erstes Applet
-- applets/hello: Hello gibt einen Text aus, der im Programm steht. Hello ist ein Applet und demonstriert, wie Java im Rahmen von HTML-Dokumenten verwendet wird.
Ein Applet ist ein Java-Programm mit einer grafischen Oberfläche, die mit dem Abstract Window Toolkit (AWT) so implementiert wird, daß sie dann in geeigneten Web-Browsern verfügbar gemacht werden kann.
Ein Applet wird immer als Unterklasse von Applet implementiert, der Aufbau eines Hauptfensters wie bei einer Applikation entfällt {applets/hello/Hello.java}.
import java.applet.*; // find Applet class
import java.awt.*; // find Graphics class
/** A class with the first Java applet */
public class Hello extends Applet {
/** hook to initialize the applet */
public void init () {
resize(150, 25);
}
/** redraw the Applet */
public void paint (Graphics g) {
g.drawString("Hello, World", 50, 25);
}
}
paint()ist die Methode, mit der sich jede Component darstellt.
Graphicsrepräsentiert einen Grafik-Kontext und dient zur Darstellung von Texten etc.
Ein Applet wird mit einem
<applet>-Element aus einer HTML-Datei heraus aufgerufen: {applets/hello/0.html}
<html>
<head>
<title>Hello, World</title>
</head>
<body>
Here is the output:
<p>
<applet code="Hello.class" width=150 height=25>
</applet>
<p>
Here is the <a href="Hello.java">source.</a>
</body>
</html>
Übersetzung und Ausführung
$ javac Hello.java # Übersetzung einer Datei $ java sun.applet.AppletViewer 0.html # Ausführung des<applet>
appletviewer(Bestandteil des JDK), hier als Klasse aufgerufen, ist ein einfacher Web-Browser, der Applets anzeigt.
import java.applet.*;
public class Test extends Applet {
public void init() { // automatisch beim ersten laden des applets
System.out.println("init");
}
public void start() { // automatisch bei jedem start des applets
System.out.println("start");
}
public void stop() { // wenn die html-seite mit dem applet verlassen wird
System.out.println("stop");
}
public void destroy() { // beim schliessen des browsers
System.out.println("destroy");
}
}
Ein minimales funktionsfähiges Applet ohne die oben genannten Methoden. Über die Zeichenfunktion und die paint-Methode wird ein Text ausgegeben.
import java.applet.*;
public class Test extends Applet {
public void init() { // automatisch beim ersten laden des applets
System.out.println("init");
}
public void start() { // automatisch bei jedem start des applets
System.out.println("start");
}
public void stop() { // wenn die html-seite mit dem applet verlassen wird
System.out.println("stop");
}
public void destroy() { // beim schliessen des browsers
System.out.println("destroy");
}
}
Eine Mischung aus beiden Applets
import java.applet.*;
import java.awt.Graphics;
public class Test extends Applet {
public void init() { // wird automatisch beim ersten laden des applets aufgerufen
System.out.println("init");
}
public void start() { // wird automatisch bei jedem start aufgerufen
System.out.println("start");
}
public void paint(Graphics g) {
showStatus("Hello, world");
g.drawString("Hello, world",10,50);
}
public void stop() { // wenn die seite mit dem applet verlassen wird
System.out.println("stop");
}
public void destroy() { // beim schliessen des browsers
System.out.println("destroy");
}
}
Einen String in der init-Methode mit einem Wert versorgen und per paint ausgegeben
import java.applet.Applet;
import java.awt.Graphics;
public class Test extends Applet {
String s;
public void init() {
s = "Hallo";
}
public void paint( Graphics g ) {
g.drawString( s, 50, 50 );
}
}
Einfaches Java-Applet das einen Text ausgibt.
import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet {
TextField tf1 = new TextField(20);
TextField tf2 = new TextField(20);
TextArea ta1 = new TextArea(10,50);
public void start() {}
public void init() {
setBackground(Color.yellow);
add(tf1);
add(ta1);
add(tf2);
}
public void paint(Graphics g){
g.drawString("Hallo!", 20, 300);
}
public void stop() {}
public void destroy() {}
}
Applet-Klasse per HTML-Datei ausführen
Starten der Applet-Klasse per HTML-Datei im selben Verzeichnis:
<html> <body> Test <applet code="Applet1.class" width="400" height="300" alt="Test-Applet"> </applet> </body> </html>

Impressum
Datenschutz