Mathematikorientierte Computernutzung, Sommersemester 2009

Java: Ein Hello-World Applet

M. Roczen

Wir geben eine neue Anwendung für die zuvor geschaffene Klasse Polynom, die mit einer geringfügigen Änderung übernommen wird.

Applets sind kleine Java-Programme, die in Web-Browsern laufen. Sie werden mit speziellen HTML-Befehlen in Web-Seiten eingebunden und auf dem Rechner des Nutzers ausgeführt. Im Quelltext dieser Seite können Sie eine Möglichkeit finden, wie das funktioniert (suchen Sie nach dem Tag <applet>).

Unser Applet hat den Namen TestApplet.class und entsteht durch Kompilieren der nachfolgenden Datei TestApplet.java. Damit es funktioniert, sollte es vom Webserver im selben Verzeichnis gefunden werden wie vorliegende Seite. Darüber hinaus wird von TestApplet die Klasse Polynom aufgerufen, auch Polynom.class sollte sich daher in dem Verzeichnis befinden.
Etwas müssen wir noch beachten: Damit der Browser auf die Klasse Polynom zugreifen kann, ist sie als public zu deklarieren. Der Quelltext enthält also dieses Schlüsselwort vor der Klassendeklaration:

//Polynom.java
public class Polynom {

usw. Nach der Änderung ist Polynom.java erneut zu kompilieren.

Wir geben nun den Quelltext für das angekündigte Applet an. Er beginnt mit zwei Import-Anweisungen, durch die dann die Pakete applet und awt (Advanced Window Toolkit) zur Verfügung stehen. Wir werden einige naheliegende Funktionen verwenden, die auf ein Graphik-Objekt angewendet werden (hier mit gr bezeichnet). Wesentlich ist, dass es keine main-Anweisung gibt: Der Browser "weiß schon, was er mit der Datei TestApplet.class zu tun hat".

/* TestApplet.java
Das ist eine Art "hello world"-Programm für ein Applet. */

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

public class TestApplet extends Applet {

public void paint( Graphics gr ) {

setBackground(Color.blue);
gr.drawRoundRect(50,50,500,300,65,65);
gr.fillRoundRect(50,50,500,300,65,65);
gr.setColor(Color.white);
Font fnt = new Font ( "default" , Font.PLAIN, 16 );
gr.setFont( fnt );

int[] a = new int[3]; int[] b = new int[2];
for (int i=0; i < 3; i++ ) { a[i] = (int)Math.round(2+7*Math.random()); }
for (int i=0; i < 2; i++ ) { b[i] = (int)Math.round(2+7*Math.random()); }
Polynom f = new Polynom (a); Polynom g = new Polynom (b);
Polynom h = f.multiply(g);
char hochzwei=178; char hochdrei = 179;
String s= "( "+f.Coeffs[0]+"+"+f.Coeffs[1]+"X+"+f.Coeffs[2]+"X"+hochzwei+" ) ( ";
s+=g.Coeffs[0]+"+"+g.Coeffs[1]+"X ) = ";
s+=h.Coeffs[0]+"+"+h.Coeffs[1]+"X+"+h.Coeffs[2]+"X"+hochzwei+"+"+h.Coeffs[3]+"X"+hochdrei;

gr.drawString( "Es werden zwei Zufallspolynome gewählt und mit-" , 100, 120 );
gr.drawString( "einander multipliziert. Bei jedem \"Besuch\" sehen" , 100, 150 );
gr.drawString( "wir neue Werte." , 100, 180 );
gr.drawString( "Lassen wir das Applet für uns rechnen! " , 100, 230 );
gr.drawString( s, 100, 275 );
}}




Anmerkungen



Valid XHTML 1.0 Transitional

Marko Roczen, 14.7.2009