我有一个使用 Substance LookAndFeel 并以 Windows 作为目标平台的 Java 应用程序,我想增加应用程序的 DPI 设置without更改系统设置。
我想这样做是因为我不想强迫用户重新启动 Windows,而且许多 Windows 应用程序似乎在非常高的 DPI 设置 (> 120) 时出现问题
PS:我知道 Substance LaF 允许在运行时缩放字体大小,但这样只会缩放控件的高度,而不缩放宽度。我希望我的 GUI 完全缩放,因为如果我设置系统的 DPI 设置,就会发生这种情况。
不知道这是否可能。外观和感觉必须支持它,但据我所知,Windows 外观和感觉不支持它。您可以考虑以下技巧:迭代外观和感觉中定义的所有字体,并将它们重新定义为稍大一些。这是执行此操作的代码片段:
for (Iterator i = UIManager.getLookAndFeelDefaults().keySet().iterator(); i.hasNext();) {
String key = (String) i.next();
if(key.endsWith(".font")) {
Font font = UIManager.getFont(key);
Font biggerFont = font.deriveFont(2.0f*font.getSize2D());
// change ui default to bigger font
UIManager.put(key,biggerFont);
}
}
我想你可以更进一步,按比例重新定义比例边界,但这很快就会变得非常复杂
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)