diff --git a/src/main/java/shape/App.java b/src/main/java/shape/App.java index e019cb7d3fae1e5f06830975a686bb4110969818..bc8930851ab4a6d4057d06f3115ee58511fc93d3 100644 --- a/src/main/java/shape/App.java +++ b/src/main/java/shape/App.java @@ -23,18 +23,22 @@ public class App extends Application { @Override public void start(Stage primaryStage) { Group root = new Group(); - Canvas canvas = new Canvas(130, 110); + Canvas canvas = new Canvas(260, 220); GraphicsContext graphicsContext = canvas.getGraphicsContext2D(); ShapeContainer shapeContainer = new ShapeContainer(); graphicsContext.setFill(Color.AQUAMARINE); graphicsContext.fillOval(10,10,10,10); - shapeContainer.addShape(new Rectangle(Color.BLUE,new Point2D(50,50), new Point2D(100,100))); + Rectangle rectangle = new Rectangle(Color.BLUE,new Point2D(100,100), new Point2D(200,200)); + shapeContainer.addShape(rectangle); List<Point2D> points = new ArrayList<>(); - points.add(new Point2D(20,20)); - points.add(new Point2D(30,30)); - //points.add(new Point2D(80,80)); - - shapeContainer.addShape(new Polygon(Color.BLACK,points)); + points.add(new Point2D(10,10)); + points.add(new Point2D(100,40)); + points.add(new Point2D(60,60)); + points.add(new Point2D(40,100)); + Polygon polygon = new Polygon(Color.BLACK,points); + shapeContainer.addShape(polygon); + BorderDecorator borderDecorator = new BorderDecorator(rectangle,10); + borderDecorator.drawDecoration(graphicsContext); shapeContainer.draw(graphicsContext); root.getChildren().add(canvas); primaryStage.setScene(new Scene(root)); diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/BorderDecorator.java index e96987dd829a51081d6bff3c7739a84146d58386..803292af3e64bdf0f97782fd951e0557ec446190 100644 --- a/src/main/java/shape/BorderDecorator.java +++ b/src/main/java/shape/BorderDecorator.java @@ -2,6 +2,7 @@ package shape; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; +import javafx.scene.paint.Color; import java.util.ArrayList; import java.util.List; @@ -23,7 +24,7 @@ public class BorderDecorator extends Decorator{ list.add(point(index)); } for(Point2D point : list){ - graphicsContext.strokeOval(point.getX(),point.getY(),radius,radius); + graphicsContext.fillOval(point.getX()-(radius/2),point.getY()-(radius/2),radius, radius); } } } diff --git a/src/main/java/shape/ShapeContainer.java b/src/main/java/shape/ShapeContainer.java index aae70ed5e542047b60b0f7147f021811017bdbc7..acd1a1af0ecbbdcb966fa106e11f236844c65d27 100644 --- a/src/main/java/shape/ShapeContainer.java +++ b/src/main/java/shape/ShapeContainer.java @@ -17,4 +17,5 @@ public class ShapeContainer{ for(Shape shape : shapes) shape.draw(context); } + }