private Path createEllipsePath( double centerX, double centerY, double radiusX, double radiusY, double rotate) { ArcTo arcTo = new ArcTo(); arcTo.setX(centerX - radiusX + 1); // to simulate a full 360 degree celcius circle. arcTo.setY(centerY - radiusY); arcTo.setSweepFlag(false); arcTo.setLargeArcFlag(true); arcTo.setRadiusX(radiusX); arcTo.setRadiusY(radiusY); arcTo.setXAxisRotation(rotate); Path path = PathBuilder.create() .elements( new MoveTo(centerX - radiusX, centerY - radiusY), arcTo, new ClosePath()) // close 1 px gap. .build(); path.setStroke(Color.DODGERBLUE); path.getStrokeDashArray().setAll(5d, 5d); return path; }