有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing获取Java中的屏幕大小

如何在Java中获得屏幕大小

非屏幕分辨率、屏幕/显示器尺寸(英寸)和纵横比。 开发的应用程序必须显示某种测试,无论屏幕大小和纵横比如何,测试的大小都必须相同。 假设我们想要显示一个2厘米宽,2厘米高的矩形,并且对于每种可能的显示适配器,它的大小都是相同的


共 (2) 个答案

  1. # 1 楼答案

    我认为答案是,这在纯Java中是无法实现的,而且可能根本无法实现

    您可以通过默认的Toolkit对象获得Java中以像素为单位的可显示屏幕大小和标称缩放(dpi)。然而,这些往往是不准确的。。。这将导致非正方形

    您可以通过本机代码获得更准确的值,但这肯定是不可移植的。这个问答说这是不可能的

  2. # 2 楼答案

    下面概述了在测试环境中校准特定显示器的一种方法:

    • 构造一个假设像素/英寸(DPI)为任意数量的校准矩形。可从GraphicsConfiguration#getNormalizingTransform()获得估计值

    • 渲染按假定DPI缩放的矩形

    • 为水平和垂直DPI添加微调器

    • 要求用户调整微调器,使矩形具有所需的尺寸

    • 将值记录在java.util.Preferences中以备后续使用

    • 使用GraphicsDevice#getIDstring()标识特定的设备校准

    附录:类似的功能在Analyze > SetScale…对话框的^{}中可用,如wiki主题SpatialCalibration中所示