1.2.1 Das Shapes-Projekt

Das Shapes-Projekt
Leider werden bei der Installation von BlueJ keine Beispielprojekte mehr mitgeliefert. Das Projekt "Shapes", auf das in diesem Kurs immer wieder Bezug genommen wird, können Sie sich allerdings hier herunterladen.
In dem großen Arbeitsbereich von BlueJ werden die Klassen Ihres Java-Projektes angezeigt, und zwar als Klassendiagramm:
- Circle
- Triangle
- Square
- Canvas
Die Pfeile zwischen den Klassen symbolisieren die Beziehungen zwischen den Klassen, darauf gehen wir aber erst später im Kurs ein.
Nach dem Laden des Projektes sind die Klassen noch schraffiert dargestellt. Das können wir aber schnell ändern:
⇒ Klicken Sie auf den Button "Übersetzen" oder "Compile" ganz links im Fenster..

Das Shapes-Projekt nach Übersetzen aller Klassen
Die Schraffur ist nun verschwunden, sonst ist aber noch nichts passiert.
⇒ Klicken Sie mit der rechten Maustaste auf die Klasse Circle.
Es öffnet sich ein Kontextmenü mit einigen Einträgen:

Das Kontextmenü der Klasse Circle
In dem Kontextmenü sehen wir einige Einträge. Mit "Bearbeiten" können wir den Quelltext der Klasse Circle in einem Editor bearbeiten. Mit "Übersetzen" wird der Quelltext der Klasse Circle kompiliert und so weiter. Für uns wichtig ist aber der erste Eintrag: new Circle().
⇒ Wählen Sie diesen Eintrag und schauen Sie, was dann passiert...

Die Dialogbox schlägt einen Standardnamen für das neue Objekt vor
Es öffnet sich ein kleines Dialogfenster, in dem ein Standardname für ein neues Objekt der Klasse Circle vorgeschlagen wird: circle1. Diesen wenig aussagekräftigen Namen wollen wir nun ändern:
⇒ Ersetzen Sie den Bezeichner circle1 durch den Bezeichner sonne und klicken Sie dann auf den OK-Button.

Das Kontextmenü der Klasse Circle
In dem unteren Bereich des BlueJ-Fensters erscheint ein roter Kasten mit abgerundeten Ecken. Dies ist die graphische Darstellung des neu erzeugten Objektes sonne.
Was können wir nun mit dieser Instanz der Klasse Circle anfangen?
⇒ Klicken Sie mit der rechten Maustaste auf das Objekt sonne.

Das Kontextmenü des Objekts sonne
Es erscheint ein langes Kontextmenü mit vielen Einträgen. Die meisten dieser Einträge sind Methoden des Objektes, mit denen man das Verhalten eines Objektes steuern kann.
⇒ Rufen Sie die Methode makeVisible() auf.

Eine Zeichenfläche mit einem kleinen blauen Kreis
Es erscheint ein neues Fenster mit einer weißen Zeichenfläche, auf dem man links oben einen kleinen blauen Kreis sehen kann.
1.2.2 Arbeiten mit Methoden
Fassen wir zusammen, was wir bisher geschafft haben:
- Starten von BlueJ
- Öffnen des Shape-Projektes
- Kompilieren der vier Klassen
- Erzeugung eines Objektes sonne der Klasse Circle
- Sichtbarmachen des Objektes sonne mithilfe der Methode makeVisible()
Mit den Schritten 4 und 5 können wir nun weitere Objekte erzeugen, nicht nur von der Klasse Circle, sondern auch von den beiden Klassen Square und Triangle (Quadrat und Dreieck). Von der Klasse Canvas lassen wir vorerst einmal die Finger, was es mit dieser Klasse auf sich hat, werden wir im Abschnitt 1.3 kennenlernen.
⇒ Erstellen Sie nun ein zweites Objekt der Klasse Circle und nennen Sie es mond.
⇒ Wählen Sie aus dem Kontextmenü des mond-Objektes den Befehl makeVisible() und beobachten Sie den Bildschirm.
Sie haben jetzt bestimmt erwartet, dass ein zweiter Kreis in dem Fenster auftaucht. Das ist aber nicht der Fall, man sieht nur einen kleinen blauen Kreis in der linken oberen Ecke des Fensters.
Der Objekt-Inspektor
⇒ Führen Sie auf das Objekt sonne einen Doppelklick aus und analysieren Sie das rote Fenster, das sich daraufhin öffnet.

Der geöffnete Objektinspektor
Für das Objekt sonne zeigt der Objektinspektor die Werte von fünf Instanzvariablen an.
Instanzvariablen
Unter diesem Begriff versteht man Variablen (also Speicherplätze), die dem Objekt zur Verfügung stehen.
Alle Instanzen einer Klasse (also alle Objekte) haben zwar die selben Instanzvariablen, aber die in diesen Variablen gespeicherten Werte können sich unterscheiden.
Der Kreis, der durch das Objekt sonne repräsentiert wird, hat einen Durchmesser von 30 Pixeln, seine Position im Fenster ist (20,60), seine Farbe ist "blue" und er ist sichtbar, denn die Instanzvariable isVisible hat den Wert true.
⇒ Öffnen Sie nun den Objektinspektor für das Objekt mond und vergleichen Sie die Werte der Instanzvariablen für sonne und mond.
Nun wissen Sie, warum Sie nur einen Kreis sehen, obwohl Sie doch für zwei Kreise die Methode makeVisible() aufgerufen haben.
Übung 1.2.1 #1
Spielen Sie mit den Methoden des Objektes sonne herum und versuchen Sie, die Sonne
a) an eine andere Position zu bewegen
b) sie größer zu machen
c) ihr eine gelbe Farbe zu geben.
Seitenanfang
Weiter mit der Programmierung eines kleinen Bildes ...