Java 获取显示器的尺寸,缩放比例,分辨率
原创
©著作权归作者所有:来自51CTO博客作者陈振阳Plus的原创作品,请联系作者获取转载授权,否则将追究法律责任
显示器自己有个物理尺寸,windows 可以通过如下的方式设置缩放比例,还可以设置显示器分辨率;
public class ScreenSizeTest {
private static Logger logger = LoggerFactory.getLogger(ScreenSizeTest.class);
public static void main(String[] args) {
Toolkit defaultToolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = defaultToolkit.getScreenSize();
double width2 = screenSize.getWidth();
double height2 = screenSize.getHeight();
logger.info(String.format("显示器尺寸:%s x %s",width2,height2));
GraphicsDevice graphDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode disMode = graphDevice.getDisplayMode();
int width = disMode.getWidth();
int height = disMode.getHeight();
logger.info(String.format("显示器分辨率:%s x %s",width,height));
GraphicsConfiguration gc = GraphicsEnvironment
.getLocalGraphicsEnvironment()
.getDefaultScreenDevice().
getDefaultConfiguration();
AffineTransform tx = gc.getDefaultTransform();
double uiScaleX = tx.getScaleX();
double uiScaleY = tx.getScaleY();
logger.info(String.format("显示器分辨率缩放比例,X:%s,Y:%s",uiScaleX,uiScaleY));
}
}