Subato

Zeichnen von GeometricObject

Gegeben seien die Klassen Vertex und GeometricObject aus den letzten Übungsblättern. Diese seien jetzt im Paket name.panitz.oose.ws17. Implementieren Sie jetzt zusätzlich in GeometricObject die Methode void paintMeTo(GraphicsContext gc).
Die Methode bekommt ein Object der Java FX Klasse javafx.scene.canvas.GraphicsContext übergeben. Auf diesem Objekt stehen Ihnen Zeichenoperationen zur Verfügung.
Mit Hilfe der Klassen FXScreen, Gapplication und Play können Sie in einem GUI überprüfen, ob die Rechtecke korrekt angezeigt werden.
Ihre Lösung wird nicht automatisch getestet. Zeigen Sie zusätzlich in der Praktikumsstunde Ihr laufendes JavaFX Programm mit der Klasse Play.
Es kann sein, dass Ihre eclipse Version noch nicht mit javafx arbeiten kann. Dann brauchen Sie entweder ein entsprechendes Plugin, oder sie können sich eine eclipse-Version mit javafx Unterstützung installieren.

package name.panitz.oose.ws17; import javafx.scene.canvas.GraphicsContext; public class GeometricObject { Vertex corner; double width; double height; Vertex velocity; public GeometricObject(Vertex corner, double width, double height, Vertex velocity) { super(); this.corner = corner; this.width = width; this.height = height; this.velocity = velocity; } double size(){ return width*height; } boolean isLargerThan(GeometricObject that){ return size()>that.size(); } boolean isAbove(GeometricObject that){ return corner.y+height<that.corner.y; } boolean isUnderneath(GeometricObject that){ return that.isAbove(this); } boolean isLeftOf(GeometricObject that){ return corner.x+width<that.corner.x; } boolean isRightOf(GeometricObject that){ return that.isLeftOf(this); } boolean touches(GeometricObject that){ return !(isLeftOf(that)||isRightOf(that) ||isAbove(that)||isUnderneath(that)); } void move(){ corner.move(velocity); } @Override public String toString() { return "Geo("+corner+","+width+","+height+","+velocity+")"; } public void paintMeTo(GraphicsContext gc) { //TODO. //Paint the rectangle to the FX Graphics Content } }
java
You are not logged in and therefore you cannot submit a solution.