import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; /** * The Circle class centred at x and y. * * * @author Dave Slemon */ public class Circle { private double radius; private Color color; private double x; private double y; public Circle( ) { this(10.0, Color.BLUE, 100, 100); } public Circle( double radius ) { this(radius, Color.BLUE, 100, 100); } public Circle( double radius, Color color, double x, double y ) { this. radius = radius; this.color = color; this.x = x; this.y = y; } public void setRadius(double radius) { if (radius <= 0) { System.out.println("ERROR! Radius must be greater than 0. Not changed."); } else { this.radius = radius; } } public double getRadius() { return radius; } public double displayArea() { return Math.PI * radius * radius; } public double displayCircumference() { return 2 * Math.PI * radius; } public void draw(GraphicsContext gc) { gc.setFill(color); gc.fillOval(x - radius, y - radius, radius * 2, radius * 2); gc.strokeOval(x - radius, y - radius, radius * 2, radius * 2); } public boolean equals( Circle c ) { if (c.getRadius() == this.radius) return true; return false; } public String toString() { return "Circle of radius = " + radius + ", x = " + x + ", y = " + y; } }