Stundenprotokoll Nr.1 vom 24.08.2000 des Informatik GK 11
von Carl-Christian Bolten

Applet

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.

bolteng1.gif (7191 Byte)


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 bereitgestellt

public class myapp extends Applet {       //Die Klasse Applet wird erweitert zu myapp
  String Text;
  int posx,posy;                                       //globale Variablendeklaration

      public 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 Mausabfrage

Wir 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: