From 962c6186a4bcc1ff161c649ac4ccd603b757b743 Mon Sep 17 00:00:00 2001 From: douaa <douaa.BENHILA@etu.univ-amu.fr> Date: Thu, 3 Oct 2024 22:02:49 +0200 Subject: [PATCH] add method draw --- src/main/java/shape/Polygon.java | 33 +++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java index 4ba6cf5..64e0358 100644 --- a/src/main/java/shape/Polygon.java +++ b/src/main/java/shape/Polygon.java @@ -1,4 +1,35 @@ package shape; -public class Polygon { +import javafx.geometry.Point2D; +import javafx.scene.canvas.GraphicsContext; +import javafx.scene.paint.Color; +import java.util.List; + +public class Polygon extends AbstractShape { + private Color color; + + public Polygon(Color color, List<Point2D> points ){ + this.color=color; + this.points.addAll(points); + } + + /*public void draw(GraphicsContext graphicsContext) { + if (points.size() >= 3) { + double[] xPoints = new double[points.size()]; + double[] yPoints = new double[points.size()]; + for (int i = 0; i < points.size(); i++) { + xPoints[i] = points.get(i).getX(); + yPoints[i] = points.get(i).getY(); + } + graphicsContext.strokePolygon(xPoints, yPoints, points.size()); + } + }*/ + @Override + public void draw(GraphicsContext graphicsContext) { + graphicsContext.setFill(color); + double[] xPoints = points.stream().mapToDouble(Point2D::getX).toArray(); + double[] yPoints = points.stream().mapToDouble(Point2D::getY).toArray(); + graphicsContext.setFill(color); + graphicsContext.fillPolygon(xPoints, yPoints, points.size()); + } } -- GitLab