Не могу рисовать много раз используя canvas в Здравствуйте, проблема с JavaFX

я хочу чтобы на холсте постоянно менялся canvas. Для рисования использую метод draw и помещаю его в цикл в AnimationTimer. И это работает с переменными, но метод draw почему-то срабатывает только один раз В чем причина? Как мне можно реализовать это?`

AnimationTimer timer = new AnimationTimer() {
    @Override
    public void handle(long l) {
        draw();
    }
};

void draw(){
    GraphicsContext ctx = canvas.getGraphicsContext2D();

    Affine transform = ctx.getTransform();
    transform.appendScale(5, 5);
    ctx.setTransform(transform);

    double x1 = 25; // 25 = 0 85
    double y1 = 5;  // 5 = 0  65
    double point1 = 60; // x2 = 85
    double point2 = 60; // y2 = 65

    double border = slider1.getValue();
    System.out.println(slider1.getValue() +" " +  border);

    ctx.strokeRect(x1, y1, point1+border, point2+border);

    ctx.strokeRect(x1+border, y1+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+20+border, y1+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+40+border, y1+border, point1/3-border, point2/3-border);

    ctx.strokeRect(x1+border, y1+20+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+20+border, y1+20+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+40+border, y1+20+border, point1/3-border, point2/3-border);

    ctx.strokeRect(x1+border, y1+40+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+20+border, y1+40+border, point1/3-border, point2/3-border);
    ctx.strokeRect(x1+40+border, y1+40+border, point1/3-border, point2/3-border);

}

@FXML
void initialize() {
    timer.start();
}

}


Ответы (0 шт):