Skip to content
Snippets Groups Projects
Commit cad426c7 authored by SAYEH Nahlane ghina's avatar SAYEH Nahlane ghina
Browse files

modification de ShapeContainer

parent 4e6386e6
Branches
No related tags found
No related merge requests found
package shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import java.util.ArrayList;
import java.util.List;
public abstract class AbstractShape implements Shape {
protected List<Point2D> points = new ArrayList<>();
// Méthode pour ajouter des points à la forme
public void addPoints(Point2D... newPoints) {
for (Point2D point : newPoints) {
points.add(point);
}
}
@Override
public int pointsCount() {
return points.size();
}
@Override
public Point2D point(int index) {
return points.get(index);
}
@Override
public abstract void draw(GraphicsContext context); // Méthode abstraite pour dessiner la forme
}
package shape;
import javafx.geometry.Point2D;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class Polygon extends AbstractShape {
private Color color;
public Polygon(Color color, Point2D... points) {
this.color = color;
addPoints(points); // Ajoute les points du polygone
}
@Override
public void draw(GraphicsContext context) {
context.setFill(color);
// Trace les côtés du polygone en reliant les points
context.beginPath();
Point2D firstPoint = points.get(0);
context.moveTo(firstPoint.getX(), firstPoint.getY());
for (int i = 1; i < points.size(); i++) {
Point2D point = points.get(i);
context.lineTo(point.getX(), point.getY());
}
context.closePath();
context.fill();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment