Die Aufgabe
Aufgabe 4
Es sollen wieder verschiedene Figuren auf einer Zeichenfläche gezeichnet werden. Der Code findet sich im Package grafik.
Dieses Mal sollen mehrere Figuren zu Gruppen zusammengefasst werden. So kann man beispielsweise ein Fahrzeug zeichnen, indem man ein Rechteck mit zwei Kreise als Räder versieht. Fasst man diese drei Figuren zu einer Gruppe zusammen, so soll man sie mit einem Befehl gemeinsam verschieben können.
Erstellen Sie eine Klasse „Gruppe“. Eine Gruppe soll beliebig viele Figuren enthalten können. Verwenden Sie hierfür eine geeignete Java-Collection. Schreiben Sie auch eine Methode, mit der man einer Gruppe eine Figur hinzufügen kann.
In der Klasse GrafikApp sollen zunächst einige Figuren und Gruppen angelegt werden können. Schließlich soll jede Gruppe einmal verschoben werden, wobei der gewünschte x-Wert und der gewünschte y-Wert jeweils über die Konsole eingegeben wird.
Damit Sie auf die Gruppen zugreifen können, müssen Sie sie in geeigneter Weise in der GraphikApp speichern.
Die Methode „aktualisiere( )“ muss ergänzt werden, damit nach dem Leeren der Zeichenfläche alle Figuren aller Gruppen neu gezeichnet werden.
Auf Blatt 6 gab es Kreise und Dreiecke als Unterklassen von Figur. Jetzt kommen Gruppen dazu. Eine Gruppe sammelt beliebig viele Figuren. Verschiebt man die Gruppe, verschieben sich alle ihre Figuren um dieselben Werte.
GrafikApp legt Figuren und Gruppen an und merkt sich alle Gruppen. Dann fragt sie für jede Gruppe nach der Verschiebung in x und y. Ihre Methode aktualisiere() zeichnet nach jeder Änderung alles neu.
Das Paket grafik mit der Zeichenfläche liegt uns nicht vor. Hier ersetzt sie ein Raster aus Zeichen auf der Konsole (Schritt 2).
- Die Vorgabe: Figur, die Figuren und die Zeichenfläche.
- Die Klasse Gruppe: Liste, hinzufügen, zeichnen, verschieben.
- GrafikApp: Gruppen speichern, anlegen, neu zeichnen, verschieben.
- Ein Probelauf.