获取Java中的Windows 10显示设置值

Luk*_*cek 5 java

当用户更改显示设置缩放(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)

失效.有没有办法获得实际价值?

Luk*_*cek 2

找到了似乎尊重显示设置的解决方案。

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)