diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java
index 3db306aff4072e6734484fe3847d661bdff62da3..6399e98ee47f9c91dad684d0b0d5236b72ba80fe 100644
--- a/src/main/java/shape/Polygon.java
+++ b/src/main/java/shape/Polygon.java
@@ -14,12 +14,15 @@ public class Polygon extends AbstractShape {
 
     @Override
     public void draw(GraphicsContext graphicsContext) {
-        graphicsContext.setStroke(color);
+        graphicsContext.setFill(color);
+        double[] xPoints = new double[points.size()];
+        double[] yPoints = new double[points.size()];
+
         for (int i = 0; i < points.size(); i++) {
-            Point2D p1 = points.get(i);
-            Point2D p2 = points.get((i + 1) % points.size());
-            graphicsContext.strokeLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
+            xPoints[i] = points.get(i).getX();
+            yPoints[i] = points.get(i).getY();
         }
+
+        graphicsContext.fillPolygon(xPoints, yPoints, points.size());
     }
 }
-