如何在Windows / Linux上设置Java Swing应用程序的DPI?

Searene:

如果您有一台DPI超过150的显示器(例如Macbook Pro),您可能还会发现问题:Java Swing应用程序上的字体对于高DPI显示器来说太小了,我根本无法更改字体大小(直接忽略Windows DPI,仅显示非常原始的DPI-> 96除了更改屏幕分辨率外,我无能为力,这绝对会使LCD上的所有内容变得模糊。

是的,我有一台具有高DPI监视器的笔记本电脑,分辨率为1920x1080,分辨率为15.6',某些Java桌面应用程序在我的笔记本电脑上看起来很小,例如Matlab,Burpsuite等。我已经在互联网上搜索了很长时间了,但是仍然找不到解决问题的方法。我知道我可以通过更改JRE字体JRE_HOME/lib/font/fontconfig.properties.src,但是找不到任何位置来设置Java桌面字体的默认字体大小或DPI。

问题没有解决办法吗?您有高DPI监视器吗?您如何使用此类应用程序?Swing会放弃DPI高用户吗?

用户574171:

我目前正在Windows上调查此问题。这是我发现的:

大多数Swing Look&Feels根本不支持高DPI,即使Nimbus可以扩展,它也不支持。我发现一些老博客文章说,Nimbus最终可能会提供较高的DPI缩放比例,但显然这从未发生过。

一个例外是系统LAF,但在所有DPI设置下,其默认字体均比实际系统字体大小小10%。此外,必须按照此处所述明确选择系统:http : //docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

您也无法在Swing中设置单个缩放比例。特定的LAF必须提供代码来处理缩放。因此,您最好的选择是System,并希望它足够好。

但是,JavaFX可以正确地自动扩展到我的系统上的最大150%。如果有可能,我建议您使用JavaFX来构建GUI。

编辑:我做了几个小型测试程序,并为各种GUI框架,Swing主题和DPI设置拍摄了比较屏幕截图。这对于阅读此问题的人可能是有益的http : //kynosarges.org/GuiDpiScaling.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Swing中全局设置应用程序的图标?

如何为Java Swing应用程序设置图标?

JAVA:SWING:如何为Swing应用程序构建.exe

如何在高DPI显示器上运行升级的Java应用程序?

如何在Windows 10上设置默认应用程序?

如何在Mac / Windows上捆绑Java应用程序?

是否可以在不更改系统DPI设置的情况下设置Java Swing应用程序的DPI分辨率?

如何在Swing应用程序中混合使用Java Swing和JavaFX?

如何在Linux,Mac和Windows上从Java启动.NET应用程序?

如何在 Chromebook 上构建和运行 Java Swing 应用程序?

如何在Java Swing应用程序上提供除nimbus之外的漂亮外观

如何转换Java Swing应用程序以在Android上工作

如何从代码中关闭Java Swing应用程序

如何组织Java Swing应用程序体系结构?

如何使Java Swing应用程序成为客户端服务器应用程序?

如何在Linux(Debian)上使用Java Web应用程序快速设置Tomcat服务器?

如何在VirtualBox的Windows上运行Kivy应用程序?

如何在Windows上运行Android应用程序?

如何在Windows vm上运行GUI应用程序?

如何在Windows上分发GTK +应用程序?

如何在Windows Docker容器上安装应用程序?

Windows 10高DPI屏幕上的WPF应用程序模糊

Windows 窗体应用程序在高 DPI 显示 VB 上显得模糊

如何在Java应用程序中强制Windows行尾?

如何在Mac OS X标题栏中更改java swing应用程序标题?

如何在Web浏览器上部署Java Swing应用程序?

如何在Java Swing应用程序中对JTables实现扩展/折叠性质

如何在SilkTest中获取Java Swing应用程序对象的属性值?

如何在 java swing 应用程序中暂停/睡眠/等待?