Aufgabe 8: Abstandsberechnung, java.util.List

Werbung
Technische Informatik Ba.: IN3, Zug 2 – Informatik III (Java) im WS 08, Prof. Knabe, 2008-12-09
Aufgabe 8: Abstandsberechnung, java.util.List<Figur>
Abgabetermin: 6. Jan. 2009
Benötigt: DiagrammDialog.java, Diagramm.java, Lösung von Übung 3, Framework MulTEx in
Form von http://public.tfh-berlin.de/~knabe/mvn-repo/de/tfh-berlin/knabe/multex/8.1/multex-8.1.jar
Implementieren Sie die Abstrakte Klasse
diagr.Diagramm durch eine Klasse
diagr.DiagrammImpl. Übersetzen Sie
den Testtreiber diagr.
DiagrammDialog und rufen Sie ihn dann
auf mittels
java diagr.DiagrammDialog
Führen Sie die einzelnen Testschritte durch,
indem Sie immer wieder auf den
„Weiter“-Knopf klicken. Es soll nach und
nach das bekannte Gesicht entstehen. Der
Testtreiber schreibt in das Eingabeaufforderungsfenster jeweils die Bezeichnung
des aktuellen Testschritts. Das Fensterfoto ist
nach Schritt
9. mut_markieren(70,77):
linkes Auge zwecks Verschieben
entstanden.
Hinweise:
Die im Entwurf (Skript §5.2.3) gefundene Klasse Diagramm wird hier wieder aufgespalten in die von
mir (Knabe) gelieferte abstrakte Klasse und die von Ihnen zu liefernde Implementierungsklasse
diagr.DiagrammImpl.
• Wenn Sie folgendes Problem beim Übersetzen von z.B. figuren\Quadrat.java bekommen (Meldung „Class
figuren.Figur already defined in Figur.java“), liegt es daran, daß die Datei Quadrat.java über mehrere Verzeichnisse über
den CLASSPATH erreichbar ist (. und ..\figuren). Sie vermeiden diese Meldung, indem Sie das Hauptprogramm
DiagrammDialog.java übersetzen. Dies bewirkt auch die Übersetzung aller Hilfsklassen.
• Die zum schrittweise aufzubauenden Diagramm gehörigen Figuren speichern Sie in einer
java.util.List<Figur>, die mit einer java.util.ArrayList<Figur> aus dem Collections Framework
initialisiert wird.
•
Gegenüber dem Entwurf enthält Diagramm zusätzlich die Methoden laden(dateiname) und
speichern(dateiname). Diese beiden Methoden sind für eine spätere Aufgabe erforderlich. Da
Sie diese noch nicht sinnvoll implementieren können, lösen Sie bitte als einzige Aktion unmittelbar die
spezifizierte Ausnahme aus, z.B. per:
throw new Diagramm.LadenFailure(null,"NichtImplementiert");
•
In AbstrakteFigur müssen Sie jetzt die Informatoren abstandZumOrtspunkt(x,y) und
abstandZumBildpunkt(x,y) definieren. Sie müssen keinen mathematisch korrekten Abstand liefern,
sondern nur eine Maßzahl dafür (kleinerer Wert ~ näher dran).
•
Die aktuell markierte Figur im Diagramm sollen Sie wie unter markieren(x, y) beschrieben
hervorgehoben zeichnen. Dafür muss markieren aus den Koordinaten (x, y) die gewünschte Figur
und gleichzeitig den Markierungszweck ermitteln und paintComponent entsprechend zeichnen.
• Das Framework MulTEx (http://public.tfh-berlin.de/~knabe/java/multex/) wird benutzt, um
Ausnahmen zu parametrieren und mit einem Meldungstext zu versehen. Sie müssen die Datei
multex-8.1.jar mit in den Classpath aufnehmen. Bei Eclipse unter Project > MausRechts > Properties
> Java Build Path > Libraries.
[C:\knabeTFH\Java\pjc3\08w08_DiagrammDialog\Aufgabe.odt]
Herunterladen