package demo; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class BugCanvasArc extends Application { final double DEFAULT_ARC_X = 50; final double DEFAULT_ARC_Y = DEFAULT_ARC_X; final double DEFAULT_ARC_RADIUS_X = 25; final double DEFAULT_ARC_RADIUS_Y = DEFAULT_ARC_RADIUS_X; final double DEFAULT_ARC_START_ANGLE = 45; final double DEFAULT_ARC_LENGTH = 270; public static void main(String[] args) { launch(args); } Group root = new Group(); private void init(Stage primaryStage) { primaryStage.setScene(new Scene(root,250,250)); } @Override public void start(Stage primaryStage) throws Exception { init(primaryStage); primaryStage.show(); root.getChildren().add(drawNode()); } Pane borderPane; protected Pane baseFill(Pane pane) { pane.setPrefSize(180, 190); pane.setStyle("-fx-border-color: darkgray;"); return pane; } public Node drawNode() { borderPane = baseFill(new VBox()); final Canvas canvas = new Canvas(120, 120); GraphicsContext _gc = canvas.getGraphicsContext2D(); _gc.arc(DEFAULT_ARC_X, DEFAULT_ARC_Y, DEFAULT_ARC_RADIUS_X, DEFAULT_ARC_RADIUS_X, DEFAULT_ARC_START_ANGLE, DEFAULT_ARC_LENGTH); borderPane.getChildren().addAll(canvas); _gc.stroke(); return borderPane; } }