如何强制字体在不同分辨率下以 px 为单位为相同大小



我正在开发一个Java Swing应用程序,该应用程序需要在比开发时小得多的屏幕尺寸上运行。

不幸的是,布局严重失真,主要是因为字体显示相对较大。

大多数字体大小都是使用 JLabels 和 JButtons 中的嵌入式 html 设置的。

如何强制 Swing 中的字体大小在不同分辨率下的像素中相等?

根据 javadocs 从 Toolkit(.getToolKit()).getScreenResolution() 开始:"以每英寸点数返回屏幕分辨率"。接下来,为您的屏幕和Font创建一个 FontMetrics Object(有多种方法可以执行此操作)。然后,您可以使用具有屏幕分辨率的FontMetrics.getHeight()来确定它将显示的大小。您可以使用Font.deriveFont(float),直到大小与您想要的大小相同或尽可能相似

最新更新