在java中遇到surface pros的字体大小问题
我有一个应用程序,除了surface pro平板电脑外,它可以在屏幕上完美工作,这会导致字体过大,无法阅读,这是当前的代码,我个人没有写过这篇文章,但有什么解决方案吗?还想了解一下为什么你要将屏幕的分辨率乘以并除以在java中遇到surface pros的字体大小问题,java,swing,javafx,Java,Swing,Javafx,我有一个应用程序,除了surface pro平板电脑外,它可以在屏幕上完美工作,这会导致字体过大,无法阅读,这是当前的代码,我个人没有写过这篇文章,但有什么解决方案吗?还想了解一下为什么你要将屏幕的分辨率乘以并除以 int fontSize = (int) Math.round(Float.parseFloat(properties.get("FontSize").toString()) * screenRes / 75.0); 编辑 这似乎与新闻部有关。大多数显示器为96,但surface
int fontSize = (int) Math.round(Float.parseFloat(properties.get("FontSize").toString()) * screenRes / 75.0);
编辑
这似乎与新闻部有关。大多数显示器为96,但surface Pro从144 DPI开始。我可以实现一个if语句来检查屏幕分辨率是否高于140,但是我觉得这不是正确的方法
更新
我将不断向您更新我的发现,似乎JavaSwing实际上不支持高DPI或与高DPI配合使用。Oracle似乎更喜欢用户使用JavaFX,如果我错了,请纠正我。Swing不支持DPI,JavaFX支持!看看这个(博客帖子)[Swing不支持DPI,JavaFX支持!看看这个(博客帖子)[。