From f526be3009ef120e136e0265030f96ddff1a05f4 Mon Sep 17 00:00:00 2001 From: m19023837 <chadi.mansour@etu.univ-amu.fr> Date: Fri, 20 Sep 2024 12:15:16 +0200 Subject: [PATCH] started filling the classes and correcting some mistakes --- src/main/java/shape/AbstractShape.java | 13 ++++++++++--- src/main/java/shape/BorderDecorator.java | 4 ++-- src/main/java/shape/CenterDecorator.java | 4 ++-- src/main/java/shape/Decorator.java | 10 +++++----- src/main/java/shape/Polygon.java | 5 +++-- src/main/java/shape/Rectangle.java | 8 ++++---- 6 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/AbstractShape.java index cbe678d..3de5886 100644 --- a/src/main/java/shape/AbstractShape.java +++ b/src/main/java/shape/AbstractShape.java @@ -6,7 +6,7 @@ import javafx.scene.canvas.GraphicsContext; import java.util.List; public class AbstractShape implements Shape { - List<Point2D> points; + private List<Point2D> points; public AbstractShape(List<Point2D> points) { this.points = points; @@ -17,16 +17,23 @@ public class AbstractShape implements Shape { } @Override public int pointsCount() { - return 0; + int count = 0; + for (Point2D point : points) { + count++; + } + return count; } @Override public Point2D point(int index) { - return null; + return index < points.size() ? points.get(index) : null; } @Override public void draw(GraphicsContext context) { + for (Point2D point : points) { + + } } } diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/BorderDecorator.java index 1f834b3..05a6d64 100644 --- a/src/main/java/shape/BorderDecorator.java +++ b/src/main/java/shape/BorderDecorator.java @@ -4,13 +4,13 @@ import javafx.scene.canvas.GraphicsContext; public class BorderDecorator extends Decorator { - double radius; + private double radius; public BorderDecorator(Shape decoratedShape ,double radius) { super(decoratedShape); this.radius = radius; } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/CenterDecorator.java b/src/main/java/shape/CenterDecorator.java index 407dd31..0eece70 100644 --- a/src/main/java/shape/CenterDecorator.java +++ b/src/main/java/shape/CenterDecorator.java @@ -3,12 +3,12 @@ package shape; import javafx.scene.canvas.GraphicsContext; public class CenterDecorator extends Decorator{ - double radius; + private double radius; public CenterDecorator(Shape decoratedShape, double radius) { super(decoratedShape); this.radius = radius; } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/Decorator.java b/src/main/java/shape/Decorator.java index ead5f5c..2f08545 100644 --- a/src/main/java/shape/Decorator.java +++ b/src/main/java/shape/Decorator.java @@ -3,14 +3,14 @@ package shape; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; -public class Decorator implements Shape { - private Shape shape; +public abstract class Decorator implements Shape { + protected Shape decoratedshape; public Decorator(Shape decoratedShape) { - this.shape = decoratedShape; + this.decoratedshape = decoratedShape; } @Override public int pointsCount() { - return 0; + return decoratedshape.pointsCount(); } @Override @@ -22,7 +22,7 @@ public class Decorator implements Shape { public void draw(GraphicsContext context) { } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java index d502ce3..d5501cb 100644 --- a/src/main/java/shape/Polygon.java +++ b/src/main/java/shape/Polygon.java @@ -6,7 +6,7 @@ import javafx.scene.paint.Color; public class Polygon implements Shape { - Color color; + private Color color; public Polygon(Color color, Point2D... points) { this.color = color; @@ -19,11 +19,12 @@ public class Polygon implements Shape { @Override public Point2D point(int index) { - return null; + return point(index); } @Override public void draw(GraphicsContext context) { + context.setFill(color); } } diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/Rectangle.java index b0e9062..ff2fcc4 100644 --- a/src/main/java/shape/Rectangle.java +++ b/src/main/java/shape/Rectangle.java @@ -5,23 +5,23 @@ import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; public class Rectangle implements Shape{ - Color color; + private Color color; Rectangle(Color color, Point2D point0, Point2D point1){ this.color = color; } @Override public int pointsCount() { - return 0; + return 2; } @Override public Point2D point(int index) { - return null; + return point(index); } @Override public void draw(GraphicsContext context) { - + context.setFill(color); } } -- GitLab