Subato

Zeichnen von GeometricObject in Swing

Gegeben seien die Klassen Vertex und GeometricObject aus den letzten Übungsblättern. Diese seien jetzt im Paket name.panitz.oose. Implementieren Sie jetzt zusätzlich in GeometricObject die Methode void paintMeTo(Graphics gc).
Die Methode bekommt ein Object der Java AWT Klasse java.awt.Graphics übergeben. Auf diesem Objekt stehen Ihnen Zeichenoperationen zur Verfügung.
Mit Hilfe der Klassen SwingScreen, SwingWindow und Play können Sie in einem GUI überprüfen, ob Sie Rechtecke korrekt angezeigt werden.
Ihre Lösung wird nicht automatisch getestet. Zeigen Sie zusätzlich in der Praktikumsstunde Ihr laufendes Programm mit der Klasse Play.

package name.panitz.oose; import java.awt.Graphics; 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(Graphics gc) { //TODO. //Paint the rectangle to the Graphics object } }
java