Die Bereiche des Bildbeschreibungsprogramms
Das Programm ist in drei Breiche aufgeteilt:
- Das Programmfenster auf der linken Seite. Hier wird die Beschreibung des Bildes in Punktnotation eingegeben,
das in der Zeichenfläche angezeigt werden soll.
- Das Zeichenfenster auf der rechten Seite, in dem das Bild angezeigt wird.
- Das Klassenkartenfenster im unteren Bereich. Mit Hilfe der Klassen- bzw. Objektkarten können schnell und auf
einfache Weise Objekte erstellt und Attribute zugewiesen werden.
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:
- Maus zum ersten Punkt bewegen;
- linke Maustaste drücken (und gedrückt lassen);
- Maus zum zweiten Punkt ziehen;
- Maustaste loslassen.
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
- in das Programmfenster übernommen werden, ohne sofort gezeichnet zu werden;
- in eine bestehende Zeichnung eingefügt werden, ohne dass die Zeichnung aktualisiert wird;
- in eine bestehende Zeichnung eingefügt werden, wobei das Bild neu gezeichnet wird,
- verworfen werden.
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.