当用户更改显示设置缩放(Windows 10,右键单击桌面,选择显示设置并缩放到150%)时,突然显示所有值
GraphicsDevice device = MouseInfo.getPointerInfo().getDevice();
Rectangle bounds = device.getDefaultConfiguration().getBounds();
Run Code Online (Sandbox Code Playgroud)
要么
Toolkit.getDefaultToolkit().getScreenSize();
Run Code Online (Sandbox Code Playgroud)
要么
GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
Run Code Online (Sandbox Code Playgroud)
失效.有没有办法获得实际价值?
找到了似乎尊重显示设置的解决方案。
javafx.geometry.Rectangle2D r = new javafx.geometry.Rectangle2D(0, 0, 1, 1);
ObservableList<Screen> screens = Screen.getScreensForRectangle(r);
if (screens != null && screens.size() > 0) {
javafx.geometry.Rectangle2D rc = screens.get(0).getBounds();
}
Run Code Online (Sandbox Code Playgroud)