JavaFX: Window.sizeToScene() 居中于原始位置

JavaFX: Window.sizeToScene() center at original position

我知道Window.sizeToScene()会调整window到场景需要的大小,但是window的位置不会相应调整(即固定点在顶部- window) 的左角。有什么方法可以让 window 自行调整大小,并将 window 的中心保持在同一位置(即使静止点位于 window 的中心)?

做类似的事情:

public void resize(Window win) {
    double x = win.getX();
    double y = win.getY();
    double width = win.getWidth();
    double height = win.getHeight();

    win.sizeToScene();

    win.setX(x + ((width - win.getWidth()) / 2));
    win.setY(y + ((height - win.getHeight()) / 2));
}

上面的代码在 window 调整到场景大小之前缓存位置,然后它移动 window 适当的量以保持 window 在同一区域的中心。这段代码没有考虑 window 在 moved/resized 后的位置。您可能想要添加检查以确保 window 不会最终离开屏幕。