Java-Applets auf HTML-Seiten


Applet-Klasse

Applets sind Java-Programme mit einem GUI; sie werden in eine HTML-Seite eingefügt, und sie werden vom Browser zur Ausführung aufgerufen, falls dieser java-fähig ist. Applet-Klassen werden immer von der Klasse java.applet.Applet abgeleitet. Der Java-Quelltext muss die benötigten Importe enthalten:

import java.applet.*;
Applets werden kompilert mit
C:>\javac AppletDemo.java
Die class-Datei wird in eine HTML-Seite eingebaut mit dem Applet-Tag

<Applet Code = "JavaDemo.class"> </Applet>

Beispiel siehe Kapitel Klasse und Datei

Browser und appletviewer

Die Java-Virtual Machine (JVM) des HTML-Browsers interpretiert den Java Byte-Code, der vom Java-Compiler erzeugt wird. Daher sind Java-Applets plattformunabhängig.

Der Browser ruft also beim Start der HTML-Seite die Applet-Klassendatei auf. Er erzeugt stillschweigend eine Instanz der Applet-Klasse und ruft bei diesem Applet-Objekt als erstes die init()-Methode.

Falls kein init() vorhanden ist, startet der Browser die paint()-Methode des Applets:

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

public class PaintApplet extends Applet
{
    public void paint( Graphics g )
    {
        g.setColor( Color.red );
        g.drawString( "Das ist ein graues Applet", 23, 34 );
    }
}

Falls kein Browser zur Verfügung steht, dann kann die HTML-Seite, in die das Applet eingebaut ist, mit dem Appletviewer aus dem JDK aufgerufen werden:

c:>\ appletviewer Seite.html
Der Appletviewer zeigt von der aufgerufenen HTML-Seite allerdings nur das Applet, bietet dafür in einem Menü einige Test-Möglichkeiten für das Applet.

Applet-Tag

Der HTML-Tag kann verschiedene weitere Angaben zur Ausführung des Applets enthalten.

Abmessungen

<APPLET CODE="JavaDemo.class" WIDTH=600 HEIGHT=100>
        alt="Ersatztext für Browser, die kein Java Können"
</APPLET>

Ausrichtung und Abstand

Der angrenzende HTML-Text kann um das Applet herumgebaut sein:

<applet code="JavaDemo.class"
        height=100
        width=200
        ALIGN=LEFT VSPACE=50 HSPACE=10
        >
</applet>

Verzeichnis

Falls die Klasse ohne package definiert ist und sich in einem anderen Verzeichnis befindet als die HTML-Seite:
<applet codebase = "unterverzeichnis" code="JavaDemo.class"
        >
</applet>

package

Falls die Klasse mit package definiert ist und dann natürlich in einem Unterverzeichnis gespeichert ist:
<applet code="packageName.JavaDemo.class"
        >
</applet>

Übung:

Man teste das Helloworld-Applet aus Kapitel 2 in verschiedenen packages etc in verschiedenen Browsern und im appletviewer. Man beachte, dass nicht alle Applet-Tags in allen Browsern funktionieren!

Man teste das o.g. PaintApplet. Man lese im Handbuch die Klasse Graphics und teste die Methoden drawRect() und drawOval()


www.AndreasGoedel.de