DrawCircle (GraphicsContext gc) with Canvas in Javafx
javafx, javafx-8
Solution
Stroking:
getGraphicsContext2D().strokeOval(center.x-radius, center.y-radius, radius, radius);
Filling:
getGraphicsContext2D().fillOval(center.x-radius, center.y-radius, radius, radius);
Problem
I have to do some projet to draw regular polygon with Canvas in JavaFX, and I have doubt how to design a circle with canvas using GraphicsContext I have this point class containing the two axes (x, y) ``` public class Point2D { private float mX; private float mY; public Point2D () { this (0,0); } public Point2D (float x, float y) { mX = x; mY = y; } public float getX() { return mX; } public float getY() { return mY; } } ``` And I have this circle Class and I have doubt to made the method public void drawCircle(GraphicsContext gc) ``` public class Circle{ private Point2D mCenter; private Color color; private float mRadius; public Circle (Point2D center, Color color, float radius ) { this.mCenter = center; this.color = color; this.mRadius = radius; } public void drawCircle(GraphicsContext gc) { // My Doubt is here Canvas canvas = new Canvas(); gc = canvas .getGraphicsContext2D(); gc.setFill(Color.WHITE); gc.setStroke(Color.BLACK); } } ``` In Main JavaFX ``` public class PaintGeometricoFX extends Application { private BorderPane root; @Override public void start(Stage primaryStage) { Point2D p = new Point2D(0, 0); Float radius = 4.0f; Circle circle = new Circle(p.getX(), p.getY(),Color.BLACK,radius) Canvas canvas = new Canvas(); GraphicsContext gc = imagem.getGraphicsContext2D(); circle.drawCircle(gc); root.setCenter(canvas); Scene scene = new Scene(root, 1152, 800); primaryStage.setTitle("PAINT"); primaryStage.setResizable(false); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ```