所以我有一小段代码:
@FXML
private Canvas konj;
@Override
public void initialize(URL url, ResourceBundle rb) {
GraphicsContext gc = konj.getGraphicsContext2D();
drawShapes(gc);
}
private void drawShapes(GraphicsContext gc) {
gc.setFill(Color.GREEN);
gc.setStroke(Color.BLUE);
gc.strokeRoundRect(160, 60, 30, 30, 10, 10);
gc.fillArc(-30, 110, 30, 30, 45, 240, ArcType.OPEN); //outside canvas!
gc.fillArc(60, 110, 30, 30, 45, 240, ArcType.CHORD);
gc.fillArc(110, 110, 30, 30, 45, 240, ArcType.ROUND);
}
结果是:
如您所见,尽管我有四个形状,但只有三个形状可见。由于其中之一的x值为负(-30),因此不会显示。因此,我为画布添加了一个滚动窗格,但结果仍然相同。