Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03519.jsonl.gz/2008

Übung Java RectangleSwing Method
Ausgangslage
Diese Übung basiert auf der Übung RectangleSwing Class.
In einer 1. Phase sollen Attribute der Klasse Rectangle private dekariert werden und über set/get-Methoden darauf zugegriffen werden.
Weiter sind die Methoden getArea() und draw(Graphics g) in der Klasse Rectangle zu implementieren gemäss dem folgenden UML Diagramm:
Das Attribute Color ist vom Typ jawa.awt.Color und damit wird die Farbe des Rechtecks definiert für die spätere Darstellung in der Methode draw().
Das boolean Attribute fill definiert ob das Rechteck nur mit Rand (false) oder vollständig (true) gezeichnet wird. Dies ist innerhalb der Methode draw() zu berücksichtigen.Im Endeffekt soll das Resultat mit der Übung RectangleSwing Class identisch sein.
Vorgehen
Lösen Sie bitte die Aufgabe wie folgt:
- Deklarieren Sie alle Attribute der Klasse Rectangle als private um.
- Programmieren Sie zu jedem Attribut die set- und get-Methoden (Getter/Setter).
In Eclipse lassen sich die Getter-/Setter-Methoden via Source->Generate Getters and Setters automatisch generieren:
- Definieren Sie in der Klasse Rectangle das Color Attribut vom Typ java.awt.Color inkl. den Methoden getColor() und setColor(Color color) oder generieren Sie solche via die Eclipse IDE.
- Definieren Sie in der Klasse Rectangle das boolean Attribut fill und inkl. den Methoden isFill() und setFill(boolean fill). Auch diese Methoden sind in Eclipse analog als Getter/Setter generierbar.
- Programmieren Sie die Methode getArea() in der Rectangle Klasse aus. Diese Methode soll die Fläche des Rechtecks berechnen.
- Programmieren Sie in der Klasse Rectangle die Methode draw() aus. Die draw-Methode soll anhand des Fill Flags ein Rechteck nur mit Rand oder komplett mit der gesamten Fläche zeichnen und dies inder gesuchten Farbe (Color).
- Programmieren Sie die Klasse RectangleSwing so um, dass nur noch Rectangle-Instanzen verwendet werden, die über die Methode draw(...) gezeichnet werden.
- Testen Sie das Swing Programm via Run as Java Application. Es sollte das genau gleiche Verhalten aufweisen:
- Fakultativ: Zeigen Sie die Fläche oberhalb dem gezeichneten Rectangle an. Verwenden Sie hierzu für die Anzeige die Methode Graphics.drawString(...).
Lösung
Eine mögliche Lösung finden Sie hier
Mit dieser Übung wird der Charakter der OO-Programmierung gezeigt. Objekte sollen gemäss Ihrer Aufgabe möglichst viele Aufgaben selber übernehmen und zur Lösung des gesamten Problems oder Aufgabe beitragen. Die Aufgabe selber kann nur durch das Zusammenspiel der Objekte gelöst werden.