Stundenprotokoll Nr.1 vom 24.08.2000 des Informatik GK 11
von Carl-Christian BoltenApplet
Ein Java-Applet ist ein Java-Programm, das von einem Computer über eine Netzwerkverbindung geladen, und durch einen HTML-Befehl in einem Browser ausgeführt werden kann. Ausführbare Java-Programme sind an der Datei-Endung .class zu erkennen. Der HTML-Befehl, der die Java-Programme startet, hat die Form:
<applet code=prog.class width="300" height="200"></applet>
Dabei ist prog.class der Name der ausführbaren Java-Datei und hinter den Schlüsselworten width und height sind Höhe und Breite des Java-Feldes angegeben.
Klasse
Der grundlegende Begriff der Programmiersprache Java heißt Klasse. Eine Klasse kann Daten und Methoden enthalten. Man kann sich vorstellen, dass eine Klasse der "Bauplan" eines Programms oder Programm-Teils ist. Vor der Ausführung muss der Bauplan in ein konkretes Programm umgesetzt werden. Dieses konkrete Programm wird als Objekt bezeichnet.
Die Entwicklungsumgebung
Unsere Entwicklungsumgebung besteht aus dem JDK (Java Development Kit) von Sun, die den Javacompiler javac, die virtuelle Maschine (VM) java und eine Sammlung vorgefertigter Klassen enthält und einer einfachen Entwicklungsoberfläche (Freejava b.z.w. Realj), die einen Editor und eine Dateiverwaltung zur Verfügung stellt.
Wir starten FreeJava
a. Folgende Menüpunkte werden gewählt : Datei - Neu
Im Textfenster, das dadurch geöffnet wird, kann der Java Quellcode und der HTML-Code eingegeben werden.
Unsere erstes Java-Programm
Bei unserem ersten Programm soll ein Fenster mit schwarzem Hintergrund und dem Schriftzug "Hallo Gyko" erscheinen .
Beim Schreiben des Quelltexts halten wir folgende Regeln ein:Fast alle Programmzeilen enden mit einem Semikolon ";"
Ausgenommen sind Kopfzeilen von Klassen und Methoden . Die beenden wir mit einer öffnenden Klammer { ,die den Beginn eines Befehlsblocks markiert. Der Befehlsblock endetmit einer schließenden Klammer } .
Die Klammern { } legen auch den Gültigkeitsbereich von Objekten und elementaren Daten fest.
import java.awt.*;
import java.applet.*; // Klassen werden bereitgestelltpublic class myapp extends Applet { //Die Klasse Applet wird erweitert zu myapp
String Text;
int posx,posy; //globale Variablendeklarationpublic void init( ) { //Methode wird automatisch beim Start ausgeführt
setBackground(Color.black);
Text =" Hallo Gyko";
posx = 100;
posy= 120;
}
public void paint(Graphics g) { //g ist der Graphikkontext des Appletfeldes
g.setColor(Color.yellow);
g.drawString(Text,posx,posy);
}
}//wird gespeichert unter "myapp.java".
3.Dann schreiben wir eine HTML Datei.<HTML>
<HEAD>
<TITLE>p1</TITLE>
</HEAD>
<BODY>
<APPLET CODE="myapp.class" WIDTH=300 HEIGHT=300>
</APPLET>
</BODY>
</HTML>wird abgespeichert unter myapp.htm
Überschreiben von Methoden
Die Klasse Applet besitzt bereits die Methoden init und paint. Sie werden beim Start des Applets automatisch ausgeführt. Wenn man sie im eigenen Applet abändert, werden die ursprünglichen Methoden überschrieben .
Methode zur MausabfrageWir wollen das obige Applet so abändern, dass der Schriftzug "Hallo Gyko" durch Mausklick an eine andere Stelle im Appletfenster verrückt wird. Wir fügen dem alten Java Quelltext die folgenden Zeilen zu :
//Wir überschreiben die Methode mouseDown un passen sie den //gestellten Anforderungen an
public boolean mouseDown(Event e, int x, int y) {
posx=x;
posy=y;
repaint( ); //Die alte Schrift wird gelöscht , dann die neue gezeichnet
return true; //Rückgabewert für mouseDown
}
Die Methode mouseDown wird nur bei einem Mausklick ausgeführt. Man nennt das Event-Steuerung. Zuerst werden die Koordinaten, die der Mauszeigers beim Klicken hat, in die Startkoordinaten des Schriftzugs übertragen. Dann wird durch repaint() die Methode paint erneut aufgerufen.
Und so sieht das dann aus: