From 2a168d278e6f007d626624a85d9d603e11da1b0e Mon Sep 17 00:00:00 2001 From: a23022716 <celia.arezki.1@etu.univ-amu.fr> Date: Fri, 27 Sep 2024 11:38:19 +0200 Subject: [PATCH] fix of The Rectangle class who implements the draw method to render the rectangle using JavaFX's GraphicsContext --- src/main/java/shape/Rectangle.java | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/Rectangle.java index b0e9062..34b41f8 100644 --- a/src/main/java/shape/Rectangle.java +++ b/src/main/java/shape/Rectangle.java @@ -4,24 +4,36 @@ import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; -public class Rectangle implements Shape{ - Color color; - Rectangle(Color color, Point2D point0, Point2D point1){ +public class Rectangle implements Shape { + private Color color; + private Point2D point0, point1; + + public Rectangle(Color color, Point2D point0, Point2D point1) { this.color = color; + this.point0 = point0; + this.point1 = point1; } @Override public int pointsCount() { - return 0; + return 2; // Un rectangle a 2 points (deux coins opposés) } @Override public Point2D point(int index) { - return null; + if (index == 0) { + return point0; + } else if (index == 1) { + return point1; + } + throw new IndexOutOfBoundsException("Rectangle has only 2 points."); } @Override public void draw(GraphicsContext context) { - + context.setStroke(color); + context.strokeRect(point0.getX(), point0.getY(), + point1.getX() - point0.getX(), + point1.getY() - point0.getY()); } } -- GitLab