Ziel der Probe-Lektion ist es ein Java-Applet zu erstellen, dass auf Knopfdruck die Farbe eines Rechtecks ändert.
Keine Angst vor den verwendeten
Fachbegriffen und Techniken - Im Tutorial werden alle verständlich
erklärt. Diese Probe-Lektion soll Ihnen die Vorgehensweise zeigen und Ihnen die Angst nehmen.
Beginnen wir also mit dem Java-Code. Er
wird normalerweise in einem Texteditor geschrieben. Die Formatierungen
sind nicht nötig, erhöhen aber die Lesbarkeit.
Als erstes brauchen wir- wie in jedem Java-Programm- den Rahmen um alles: die Klasse. Eine Klasse vereint Objekte
gleicher Eigenschaften in sich und definiert für diese Variablen und
Verhaltensweisen (Methoden). Unsere Klasse soll Farbwechsler heissen und
ein Applet (aus dem Paket java.applet.Applet) sein:
import java.awt.* ;
import java.awt.event.* ;
public class Farbwechsler extends java.applet.Applet
{
} |
In dieser Klasse definieren wir nun ein
ein paar Variablen und eine Methode, die eine erste Aktion ausführt.
Diese Methode fügt eine Schaltfläche in die Oberfläche des
Browser-Fensters ein. Einen sogenannten Button.
import java.awt.* ;
import java.awt.event.* ;
public class Farbwechsler extends java.applet.Applet
{
int i = 0;
Color col;
String labeled = new String("Farbe wechseln");
Button click = new Button(labeled);
public void init()
{
add(click);
}
}
|
Das Ergebnis sehen Sie hier. (Achtung das ist nur eine Zwischenstufe, das Applet funktioniert noch nicht richtig!)
Damit haben wir einen Teil einer Benutzeroberfläche
erzeugt, nämlich einen Button (Schaltfläche). Der Button hat
eine Beschriftung, die genau der oben definierten Variable labeled entspricht.
Das ganze sieht nicht sehr spektakulär
aus und der Button bewirkt auch noch nichts, wenn man ihn klickt.
Als nächstes werden wir eine geometrische
Form erzeugen, deren Farbe später per Knopfdruck verändert werden
soll. Dazu machen wir uns die Möglichkeiten einer schon mitgelieferten
Klasse von Java zunutze, nämlich Graphics.
Darin gibt es eine Methode fillRect(),
die ein gefülltes Rechteck zeichnet und eine weitere Methode setColor(),
die die Farbe eines Objektes verändern kann.
Beide Methoden werden in eine "Übermethode"
namens paint gepackt. Diese wird beim Start eines Applets vom Webbrowser
aufgerufen und alle Anweisungen darin werden ausgeführt. Wie die Übersetzung
von paint (= malen) schon zeigt, befinden sich darin nur Methoden, die
auf der Benutzeroberfläche etwas graphisch darstellen (malen).
Wenn wir diese Methode(n) nun benutzen
sieht unsere Klasse so aus:
import java.awt.* ;
import java.awt.event.* ;
public class Farbwechsler extends java.applet.Applet
{
int i = 0;
Color col;
String labeled = new String("Farbe wechseln");
Button click = new Button(labeled);
public void init()
{
add(click);
}
public void paint(Graphics g)
{
g.setColor(col);
g.fillRect(20, 20, 40, 40);
}
}
|
Das Ergebnis sehen Sie hier. (Achtung das ist nur eine Zwischenstufe, das Applet funktioniert noch nicht richtig!). Die Zahlenangaben beziehen sich auf die Position und Grösse des Rechtecks.
Wir haben nun einen Button und ein Rechteck
auf unserem Bildschirm. Aber es tut sich immer noch nichts, wenn wir den
Button anklicken. Hier kommt nun eine neue Konstruktion ins Spiel, der
ActionListener. Dieses Konstrukt überwacht quasi den Button. Wenn
mit dem Button etwas passiert, meldet sich der ActionListener und führt
eine von uns vorgegebene Aktion aus.
import java.awt.* ;
import java.awt.event.* ;
public class Farbwechsler extends java.applet.Applet
{
int i = 0;
Color col;
String labeled = new String("Farbe wechseln");
Button click = new Button(labeled);
public void init()
{
ActionListener a1 = new ActionListener()
{
public void actionPerformed(ActionEvent
e) {
AUSZUFÜHRENDE AKTION
} }
add(click);
click.addActionListener(a1);
}
public void paint(Graphics g)
{
g.setColor(col); g.fillRect(20, 20, 40, 40); }
} |
So, nun müssen wir uns eingentlich
nur noch überlegen, was die "AUSZUFÜHRENDE AKTION" sein
soll, und dann sind wir fertig.
Ein Klick auf den Button soll natürlich
einen Farbwechsel bei dem Rechteck bewirken. Deshalb erhöhen wir mit
jedem Klick den Wert der Variablen i und das solange bis sie >8 ist. Dann
wird sie zurückgesetzt. Jeder Wert von i zwischen 1 und 8 steht für
eine Standardfarbe aus der Klasse Color, in der dann das Rechteck in der
paint- Methode eingefärbt wird. Der Aufruf repaint ruft die paint-
Methode nach jedem Farbwechsel erneut auf, um das Rechteck neu zu zeichnen.
Das fertige Applet sehen Sie hier.
Das Ganze klingt auf den ersten
Blick sehr verwirrend. Keine Bange: Im Kurs werden alle Begriffe
und Vorgehensweisen genaustens erklärt. Sie lernen Schritt für
Schritt die Basismethoden und Kniffe, die Sie sofort in Ihren eigenen Programmen einsetzen können. So zum
Beispiel auch den oben erklärten ActionListener. Sie lernen Ihre Java- Programme sinnvoll aus immer wiederverwendbaren Einzelelementen
zusammenzubauen, anstatt blind abzutippen.
|