【发布时间】:2015-05-08 18:06:41
【问题描述】:
有没有办法“强制”JavaFX 启用 Hi-DPI 模式?也许通过一些特定的虚拟机参数或什么?这对于调试/测试应用程序而无需访问相应的显示非常有用。
这个问题已经很好地涵盖了有关 JavaFX 8 的 Hi-DPI 模式的基础知识,但它没有提供任何“强制”该模式处于活动状态的方法:JavaFX 8 HiDPI Support
【问题讨论】:
标签: java javafx jvm retina-display retina
有没有办法“强制”JavaFX 启用 Hi-DPI 模式?也许通过一些特定的虚拟机参数或什么?这对于调试/测试应用程序而无需访问相应的显示非常有用。
这个问题已经很好地涵盖了有关 JavaFX 8 的 Hi-DPI 模式的基础知识,但它没有提供任何“强制”该模式处于活动状态的方法:JavaFX 8 HiDPI Support
【问题讨论】:
标签: java javafx jvm retina-display retina
您是否尝试过使用:
-Dprism.allowhidpi="true"
作为命令行选项,或调用:
System.setProperty("prism.allowhidpi", "true");
在您的申请开始时?
我无法在 Windows 上测试它,但在 Android (JavaFXPorts) 上,当设置为自定义属性文件中的属性时它可以工作(默认情况下为 true,这将禁用它):
prism.allowhidpi=false
【讨论】:
-Dprism.verbose="true"给你的东西吗?在 Windows 上,我注意到使用-Dprism.allowhidpi="false" 我得到Not opting in for HiDPI pixel scaling,而-Dprism.allowhidpi="true" 得到Opting in for HiDPI pixel scaling。
allowhidpi 标志时,我也会得到Opting in for HiDPI scaling。我猜这只是允许 JavaFX 使用HiDPI 缩放,而不是强制 它使用它!?
对于 Windows 7,此 JVM 参数适用于我 (Java 8u102),并且必须使用所有 dpi 设置自动缩放。激活 Hi DPI 的最小设置设置为 1 (100%)。如果没有此设置,Windows 7 中的 125% dpi 设置将不会自动缩放,而 150% 和 200% 会:
-Dglass.win.minHiDPI=1
在 JavaFX Ant deploy 中,可以像这样应用上述设置:
<fx:deploy
<fx:platform javafx="2.1+">
<fx:property name="glass.win.minHiDPI" value="1"/>
</fx:platform>
</fx:deploy>
【讨论】: