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 不会最终离开屏幕。
我知道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 不会最终离开屏幕。