Java-Applets auf HTML-Seiten


Applets werden immer von der Klasse Applet abgeleitet. Die Datei muss daher die benötigten Importe enthalten. Applets werden kompiliert:

javac startApplet.java
und in einer HTML-Seiten Aufgerufen mit dem Tag

<Applet Code = startApplet.class></Applet>

Der HTML-Browser interpretiert den Java Byte-Code, der vom javac-Compiler erzeugt wird. Daher sind Java- Applets plattformunabhängig.

Folgende Methoden können in Applets vorkommen und werden, falls vorhanden, automatisch aufgerufen:

Das folgende Beispiel demonstriert die start() und stop() Methoden. Das Applet zeigt an, wie oft es seit seinem ersten Aufruf aktualisiert worden ist: Quell-Code

Parameterübergabe

Die HTML-Seite kann an das Applet beim Aufruf Werte übergeben mit dem Parameter-Tag:

Das Applet braucht dann einen Mechanismus um die Parameter zu übernehmen:

Beispiel:Das gelbe Applet zeigt die Parameter, die von der HTML-Seite übergeben werden

Applet-Code

So können Applets geschrieben werden, die in ihrem Ablauf flexibel gesteuert werden können.

Aufruf von Konstruktoren

Ein Applet kann Konstruktoren anderer Klassen aufrufen. Das folgende FahrApplet zur Fahrzeug Simulation benutzt die Klasse Fahrzeug

Das Applet erzeugt in init() Fahrzeug Objekte und schickt diesem dann Nachrichten, die das Fahrzeug-Objekt versteht und ausführt. Das Applet übernimmt dann ggf. die Anzeige der Werte, die vom Fahrzeug-Objekt geliefert werden.

Das gelbe Applet ist eine Fahrzeug-Simulation,
leider sind nicht alle Funktionen implementiert

Quell-Code


startApplet
zurück
import java.applet.*;
import java.awt.*;

public class startApplet extends Applet
{
	static int anzahlAktualisierungen = 0;
	TextField T = new TextField("", 7 ); 
	 
startApplet()
{
	add(T);
	T.setEditable(false);
}
public void init()
{
	setBackground( new Color( 200, 190, 150 ));
	T.setFont( new Font( "Arial", 0, 24));
}
public void start()
{
	T.setText( anzahlAktualisierungen +"");
}
public void stop()
{
	anzahlAktualisierungen++;
}
}

ParameterDemo
zurück
import java.applet.*;
import java.awt.*;

public class ParameterDemo extends Applet{
	String Text1, Text2;
	
	public void paint(Graphics g){
		setBackground(Color.yellow);
		Text1 = getParameter("Parameter1");
		Text2 = getParameter("Parameter2");
		g.drawString("Der Wert von Parameter1 ist " + Text1, 10, 40);
		g.drawString("Der Wert von Parameter2 ist " + Text2, 10, 70);
	}
}

FahrApplet
zurück
import java.applet.*;
import java.awt.*;
 
public class FahrApplet extends Applet
{
	Panel BedienElement = new Panel();
	String str;
	Label TempoAnzeige = new Label("         0");
	Dimension Groesse;
	Fahrzeug F = new Fahrzeug(); 

public void init()
{
	BedienElement.add( new Button("Beschleunigen"));
	BedienElement.add( new Button("Bremsen"));
	BedienElement.add( new Button("Anhalten"));
	BedienElement.add(TempoAnzeige);
	add(BedienElement);
	Groesse = size();	
}

public boolean action( Event e, Object arg )
{
	if("Beschleunigen".equals( arg)){
		F.Beschleunigen();
		TempoAnzeige.setText(F.Tacho()+"");
	}
	else  if("Bremsen".equals( arg))
		TempoAnzeige.setText("?????" );
	else  if("Anhalten".equals( arg))
		TempoAnzeige.setText("!!!!!");
	repaint();
	return true;
	}
		
public void paint( Graphics g )
{
	g.drawRect(0, 0, Groesse.width- 2, Groesse.height-2);
	setBackground(Color.yellow);
}
}