Java-Applets auf HTML-Seiten |
|
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.javaDie class-Datei wird in eine HTML-Seite eingebaut mit dem Applet-Tag
<Applet Code = "JavaDemo.class"> </Applet>
Beispiel siehe Kapitel Klasse und Datei
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.htmlDer 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.
Der HTML-Tag kann verschiedene weitere Angaben zur Ausführung des Applets enthalten.
<APPLET CODE="JavaDemo.class" WIDTH=600 HEIGHT=100>
alt="Ersatztext für Browser, die kein Java Können"
</APPLET>
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>
<applet codebase = "unterverzeichnis" code="JavaDemo.class"
>
</applet>
<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()