java – 自动调整Canvas大小以填充封闭的Parent

我最近想在JavaFX中创建一个动画背景,类似于看到here的Swing示例.我使用Canvas绘制,如Working with the Canvas API所示,和AnimationTimer绘图循环,如Animation Basics所示.不幸的是,我’我不确定如何在调整封闭舞台大小时自动调整画布大小.什么是好方法?

How to make canvas Resizable in javaFX?中检查了类似的问题,但是在那里接受的答案缺少在接受的答案here中说明的绑定.

解决方法:

我将两个先前的解决方案(@trashgod和@ clataq)结合起来,将画布放在一个窗格中并将其绑定到它:

private static class CanvasPane extends Pane {

    final Canvas canvas;

    CanvasPane(double width, double height) {
        setWidth(width);
        setHeight(height);
        canvas = new Canvas(width, height);
        getChildren().add(canvas);

        canvas.widthProperty().bind(this.widthProperty());
        canvas.heightProperty().bind(this.heightProperty());
    }
}
上一篇: