Skip to content
Snippets Groups Projects
Circle.java 759 B
Newer Older
  • Learn to ignore specific revisions
  • BasileCouetoux's avatar
    BasileCouetoux committed
    package shape;
    
    import javafx.geometry.Point2D;
    import javafx.scene.canvas.GraphicsContext;
    
    public class Circle implements Shape {
    
    
        private double radius, x, y;
    
        public Circle(double x, double y, double radius) {
            this.x = x;
            this.y = y;
            this.radius = radius;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        @Override
    
        public void paint(GraphicsContext graphicsContext) {
            graphicsContext.strokeOval(x-radius, y-radius, 2 * radius, 2 * radius);
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
        @Override
    
        public boolean contains(double x, double y) {
            double dx = x -= this.x;
            double dy = y -= this.y;
            return dx*dx + dy*dy <= radius*radius;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
        @Override
    
        public void translate(double dx, double dy) {
            this.x += dx;
            this.y += dy;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
    BasileCouetoux's avatar
    BasileCouetoux committed
    }