Skip to content
Snippets Groups Projects
Circle.java 945 B
Newer Older
  • Learn to ignore specific revisions
  • BasileCouetoux's avatar
    BasileCouetoux committed
    package shape;
    
    import javafx.geometry.Point2D;
    import javafx.scene.canvas.GraphicsContext;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
    
    public class Circle implements Shape {
    
        private Point2D center;
        private double radius;
        private Color color;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
    
    
        public Circle(Color color, double x, double y, double radius) {
            this.color = color;
            this.center = new Point2D(x, y);
            this.radius = radius;
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
        @Override
        public int pointsCount() {
    
            return 1;  // Un cercle n'a qu'un centre
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
        @Override
        public Point2D point(int index) {
    
            if (index == 0) {
                return center;
            }
            throw new IndexOutOfBoundsException("Circle has only one center point.");
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    
        @Override
        public void draw(GraphicsContext context) {
    
            context.setStroke(color);
            context.strokeOval(center.getX() - radius, center.getY() - radius,
                    radius * 2, radius * 2);
    
    BasileCouetoux's avatar
    BasileCouetoux committed
        }
    }