8

在高分辨率屏幕(我的示例,Windows 8.1)上是我的 Java 应用程序。尤其是菜单非常小,几乎不可能选择一个菜单项。

在普通屏幕(72 DPI)中一切正常。

具有固定大小的字体(在我的情况下它会小于 80 像素),这是一个糟糕的选择。72 DPI 屏幕显示它非常大。

如何使字体可缩放,以便程序符合其大小,或者用户获得设置的可能性?

4

1 回答 1

5

您可以通过访问 PLAF 在一个地方更改默认字体大小: Java Swing on high-DPI screen

但这仍然会使应用程序看起来很糟糕,因为组件间的空间将以像素为单位,因此不会随字体大小缩放。有关更长的讨论,请参见 http://www.javalobby.org/java/forums/t101878.html

我的建议是使用可识别 DPI 的布局库,例如MigLayout,它支持以像素或可识别 DPI 的 mm 或 cm 为单位指定尺寸。然后,您可以使用FontMetrics将字体缩放和 DPI 感知间距结合起来,为您的字体找到正确的大小。

于 2015-02-23T14:06:40.590 回答