Die Bereiche des Bildbeschreibungsprogramms

Das Programm ist in drei Breiche aufgeteilt: Das Programmfenster und das Klassenkartenfenster können über das Menü "Ansicht" ein- bzw. ausgeblendet werden.
Es ist über das Menü "Ansicht" auch möglich, die Klassenkarten und das Programmfenster automatisch auzublenden, wenn die Maus in den Zeichenbereich bewegt wird. Dies kann insbesondere bei schlechter Bildschirmauflösung oder bei großen Zeichnujngen nützlich sein. Außerdem ist es möglich, die Größe der Klassenkarten durch Anklicken mit der rechten Maustaste zu verändern.

Erzeugung eines Objekts

Es stehen verschiedene Klassen zur Verfügung, die durch die Klassenkarten dargestellt sind.
Ein Objekt (z. B. ein Rechteck) kann durch Eingabe in das Programmfenster wie folgt erzeugt werden:

r = new Rechteck();

r ist der Bezeichner (der Name) des Objekts und kann beliebig gewählt werden. Die Klammern und der Strichpunkt dürfen nicht vergessen werden. Anschließend können die Attributwerte dem Objekt mit einfachen Setzen-Methoden zugewiesen werden:

r.linksSetzen(100);
r.obenSetzen(200);
r.hoeheSetzen(30);
r.breiteSetzen(150);
r.farbeSetzen(rot);

"links" ist der Abstand des Objekts vom linken Rand, "oben" der vom oberen Rand, gemessen in Pixeln (Bildschirmpunkten). Die anderen Attribute sprechen für sich.
Achtung! Es sind nur ganzzahlige Attributwerte erlaubt.
Bemerkung: Wird die Maus über die Zeichenfläche bewegt, können die Koordinaten der Maus oberhalb des Programmfensters abgelesen werden.
Das so erzeugte Objekt kann über den Menüpunkt "Bild" - "Bild neu zeichnen" in der Zeichenfläche sichtbar gemacht werden. Fehler während des Bildaufbaus werden im Programmfenster markiert. Dabei ist es möglich, dass der Fehler nicht ganz genau lokalisiert wird. Über das Menü "Bild" kann die Zeichenfläche auch wieder gelöscht werden. Es ist darüber hinaus möglich, bei umfangreichen Bildern mit einer großen Anzahl an Objekten nur Teile anzuzeigen. Dazu muss zunächst der entsprechende Bereich im Programmfenster durch Ziehen mit der Maus markiert und anschließend der Menüpunkt "Markierung ausführen" im Menü "Bild" aufgerufen werden. In diesem Fall werden aber markierte Methoden in der Regel nicht richtig ausgeführt. Schließlich ist es möglich, durch Methoden ausgelöste Bewegungen wieder zu stoppen.
Mit den üblichen Tastenkombinationen Strg+c bzw. Strg+x können markierte Textbereiche kopiert bzw. ausgeschnitten und mit Strg+v an einer anderen Stelle eingefügt werden.

Nutzung der Klassenkarten

Die Erzeugung von Objekten und die Zuweisung von Attributwerten kann mühsam sein. Mit Hilfe der Klassenkarten kann man sich viel Arbeit sparen.
Wird eine Klassenkarte mit der Maus angeklickt, erscheint eine entsprechende Objektkarte auf der linken Seite. Der vorgegebene Bezeichner des Objekts sollte durch einen sinnvollen Namen ersetzt werden. Im Auswahlfeld "farbe" kann eine Farbe zugewiesen werden. Lage und Größe des Objekts werden durch weitere Attribute bestimmt. Sie können entweder direkt in die Objektkarte eingetragen oder mit Hilfe der Maus wie im Folgenden beschrieben aus der Zeichenfläche gewonnen werden:
Jedes Objekt wird durch ein Rechteck umgrenzt. Dieses Rechteck ist durch zwei diagonal gegenüberliegende Punkte bestimmt, die wie folgt mit Hilfe der Maus festgelegt werden: Ein Fadekreuz hilft bei der genauen Bestimmung der Koordinaten. Eine nachträgliche Änderung ist jederzeit - insbesondere im Programmfenster - per Hand möglich.
Bei den Klassen "Rechteck" und "Ellipse" bestimmt das mit Hilfe der Maus gewonnene umgrenzende Rechteck Lage und Größe des Objets unmittelbar. Beim Kreis wird das Rechteck zu einem Quadrat vergrößert - linker und oberer Rand bleiben unverändert. Beim (gleichschenkligen) Dreieck befindet sich die Spitze oben, wenn der zweite Punkt höher als der erste liegt, andernfalls steht das Dreieck kopf. Bei der Klasse "Linie" sind die beiden Punkte die Endpunkte der Strecke.
Das Objekt kann anschließend Hierzu stehen vier Knöpfe unterhalb der Objektkarte zur Verfügung.

Methoden

Die Methoden sind den Klassenkarten zu entnehmen. Sie werden z. B. durch

r.drehen(90);

ins Programmfenster eingegeben. Das Objekt dreht sich entsprechend um 90 Grad. Es sind jeweils nur ganzzahlige Werte erlaubt.
Bei vier Methoden werden Bewegungen des entsprechenden Objekts eingeleitet: "wandern", "rotieren", "fallen" und "hüpfen". Die beiden ersten Methoden erwarten entsprechende "Geschwindigkeiten" als Übergabewerte. "hüpfen" erwartet die oben-Koordinate des "Bodens", von dem das Objekt abprallen soll, als Übergabewert. Alle Bewegungen können einzeln wieder gestoppt werden.
Die Objekte werden in der Reihenfolge ihrer Erzeugung gezeichnet. Früher gezeichnete (erzeugte) Objekte können von "jüngeren" Objekten überdeckt werden. Mit den Methoden "nachHinten", "nachVorne", "inDenVordergrund" und "inDenHintergrund" können Überdeckungen abgeändert werden.

Weitere Funktionen

Unabhängig von einzelnen Objekten stehen zwei weitere Befehle zur Verfügung:

warten(2000);

hält die Ausführung des Programms für 2 Sekunden (2,000 s bzw. 2000 Tausendstel Sekunden) an. Mit

zeichenflächeSetzen(480,350);

kann die Größe des Bildes auf 480 x 350 Bildpunkte gesetzt werden. Die beiden Befehle sind Methodes des Objekts bild und können auch mit

bild.warten(2000);
bzw.
bild.setzeZeichenfläche(480,350);

aufgerufen werden.
Darüber hinaus können Variablen definiert und in der in Java üblichen Weise Schleifen durchlaufen werden. Werden Bewegungen über Schleifen und die warte-Methode erzeugt, so ist eine Unterbrechung über das Menü "Bild" nicht möglich.
Über den Menüpunkt "Datei" ist es möglich, Bilder abzuspeichern bzw. ein anderes Bild zu laden.
Unter http://www.brieck.de/nt6/index.html1 können ggf. aktualisierte Versionen dieses Programms heruntergeladen werden.

Lizenzbestimmungen

Die Lizenzbestimmungen1 von beanshell sind zu beachten!
1Verweise können aus dem Hilfefenster heraus nicht verfolgt werden. Dazu muss die Datei "hilfe.html" im Verzeichnis "doc" mit Hilfe eines Browsers geöffnet werden.