|
|
|||
Folge 5: Java-Applets (Kurzfassung) |
|||
Buch-VersionDie Folgen 1 bis 9 gibt es jetzt auch als Buch-Version. Noch nicht gedruckt, aber in Form von drei PDF-Dateien. Die Buch-Version sieht besser aus und enthält Themen, die ich aus Zeitgründen im regulären Kurs nicht behandeln kann, zum Beispiel das komplette Kapitel 6 sowie einige Exkurse. |
Die längere Originalfassung der Folge 5 finden Sie in der Buchversion! |
||
Schritt 1 - Ein neues Applet erstellen
|
|||
Schritt 2 - Quelltext aufräumen"Entrümpeln" Sie den von BlueJ erzeugten Quelltext oder tippen Sie den folgenden Minimal-Quelltext für das Applet ein (ohne Zeilennummern): 1 import java.awt.*;
2 import javax.swing.*;
3 public class Zeichenbrett extends JApplet
4 {
5 public void init()
6 {
7 }
8 public void paint(Graphics g)
9 {
10 g.drawString("Applet", 20, 20);
11 }
12 }
|
|||
Schritt 3 - Quelltext-Analyse
|
|||
Schritt 4 - erstes Kompilieren und Testen
|
|||
Schritt 5 - einen Kreis malenErgänzen Sie den Quelltext der Methode paint() wie folgt: public void paint(Graphics g)
{
g.drawString("Beispiel-JApplet", 20, 20);
g.drawOval(50,100,400,300);
}
Es wird ein Oval gezeichnet, 400 Pixel breit und 300 Pixel hoch. Die beiden ersten Parameter der drawOval()-Methode geben die Koordinaten der linken oberen Ecke des Rechteckes an, welches das Oval umschreibt. Die beiden zweiten Parameter geben Breite und Höhe dieses Rechteckes an. |
Die wichtigsten Zeichen-Befehle der Klasse Graphics. |
||
Schritt 6 - zehn Kreise malenWir wollen jetzt nebeneinander zehn kleine Kreise in das Applet malen. Natürlich könnte man dazu zehnmal den Befehl drawOval() hinschreiben und jedes mal die Parameter neu bestimmen. Aber wozu haben wir eigentlich in der Folge 4 über for-Schleifen gesprochen? Wir wollen jetzt diese for-Schleifen mal für etwas Sinnvolles einsetzen. Hier die entsprechende paint()-Methode: public void paint(Graphics g)
{
g.drawString("Zehn Kreise", 20, 20);
for (int i = 1; i <= 10; i++)
g.drawOval(40*i,100,40,40);
}
So schwer war das doch gar nicht. Wir lassen die for-Schleife zehnmal durchlaufen. In jedem Schleifendurchgang wird ein Kreis gezeichnet. Die zehn Kreise unterscheiden sich nur in ihren x-Koordinaten. Die y-Koordinate hat immer den Wert 100, und Breite und Höhe des umgebenden Rechtecks bleiben auch gleich. |
|||
Schritt 7 - 81 Kreise malenKommen wir zu den ersten Übungen der Folge 5 Übung 5.1 (2 Punkte)Lesen Sie im Theorieteil der Folge 4 (for-Schleifen) nach, was man unter einer geschachtelten for-Schleife versteht und ergänzen Sie dann das Java-Applet so, dass zehn Reihen mit je zehn Kreisen gezeichnet werden, also insgesamt 100 Kreise. Übung 5.2 (4 Punkte)Erstellen Sie ein Applet, das 9 x 9 Kreise zeichnet, abwechselnd weiß und schwarz, wie in einem Schachbrettmuster angeordnet. Schauen Sie in der Referenz nach, wie man einen gefüllten Kreis zeichnen kann. Das Problem bei dieser Übung ist es, die beiden for-Schleifen so zu verändern, dass immer abwechselnd ein weißer Kreis und ein schwarzer Kreis gezeichnet werden. Bei einer ungeraden Anzahl von Kreisen, z.B. 7 x 7 oder 9 x 9 geht das viel einfacher als bei einer geraden Anzahl von Kreisen. |
Die wichtigsten Zeichen-Befehle der Klasse Graphics. |
||
Schritt 8 - farbige Rechtecke
Übung 5.3 (2 Punkte)Betrachten Sie das obige Applet. Es wurde durch folgende paint()-Methode erzeugt: public void paint(Graphics g)
{
g.drawString("Farbverlauf", 20, 20);
for (int i = 1; i <= 10; i++)
{
g.setColor(new Color(i*25,255,255));
g.fillRect(i*40,100,40,40);
g.setColor(new Color(0,0,0));
g.drawRect(i*40,100,40,40);
}
}
Erweitern Sie den Quelltext so, dass ein zweidimensionaler Farbverlauf erzeugt wird. Das heißt, Sie müssen 10 x 10 solcher Kästchen zeichnen lassen - also wieder eine doppelte for-Schleife einsetzen - und die Farbe der Kästchen von beiden Laufvariablen abhängig machen. |
|||
Ergänzung zur Folge 5Wenn Sie Lust auf weitere Übungen haben und/oder bis zu weitere 6 Punkte erreichen möchten, arbeiten Sie die Ergänzung zur Folge 5 durch (ehemaliger Exkurs "Applets 1"). Ansonsten machen Sie weiter mit der Folge 6, die Sie allerdings nur in der Buchversion finden, oder mit Folge 7, die ich aber noch nicht überarbeitet habe. |
|||
Weiter mit Folge 6 - Ein kleiner Roboter |
|||
|
Diese HTML-Seite wurde erstellt von Ulrich Helmich am 6. März 2005 und völlig überarbeitet am 18. September 2006. |
|||
Sie sind Besucher Nr. seit dem Erreichen der 10-Millionen-Marke am 21.01.2010