如何在高分辨率屏幕上缩放字体?

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

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

字体与固定大小(在我的情况下,它将有<80px),是一个糟糕的选择。 72个DPI屏幕显示它非常大。

我怎样才能使字体扩展,使程序符合其大小,或者用户有可能设置?


您可以通过在高DPI屏幕上访问PLAF:Java Swing来更改默认字体大小

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

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

链接地址: http://www.djcxy.com/p/83869.html

上一篇: How can I scale fonts on a high resolution screen?

下一篇: Parse Crash reporting doesn't work