swing获取Java中的屏幕大小
如何在Java中获得屏幕大小
非屏幕分辨率、屏幕/显示器尺寸(英寸)和纵横比。 开发的应用程序必须显示某种测试,无论屏幕大小和纵横比如何,测试的大小都必须相同。 假设我们想要显示一个2厘米宽,2厘米高的矩形,并且对于每种可能的显示适配器,它的大小都是相同的
你可以在下面搜索框中键入要查询的问题!
如何在Java中获得屏幕大小
非屏幕分辨率、屏幕/显示器尺寸(英寸)和纵横比。 开发的应用程序必须显示某种测试,无论屏幕大小和纵横比如何,测试的大小都必须相同。 假设我们想要显示一个2厘米宽,2厘米高的矩形,并且对于每种可能的显示适配器,它的大小都是相同的
# 1 楼答案
我认为答案是,这在纯Java中是无法实现的,而且可能根本无法实现
您可以通过默认的
Toolkit
对象获得Java中以像素为单位的可显示屏幕大小和标称缩放(dpi)。然而,这些往往是不准确的。。。这将导致非正方形您可以通过本机代码获得更准确的值,但这肯定是不可移植的。这个问答说这是不可能的
# 2 楼答案
下面概述了在测试环境中校准特定显示器的一种方法:
构造一个假设像素/英寸(DPI)为任意数量的校准矩形。可从
GraphicsConfiguration#getNormalizingTransform()
获得估计值渲染按假定DPI缩放的矩形
为水平和垂直DPI添加微调器
要求用户调整微调器,使矩形具有所需的尺寸
将值记录在
java.util.Preferences
中以备后续使用使用
GraphicsDevice#getIDstring()
标识特定的设备校准附录:类似的功能在} 中可用,如wiki主题SpatialCalibration中所示
Analyze > SetScale…
对话框的^{