我的JavaFX应用程序在Windows缩放时出现问题。有没有办法在Java中通知Windows不要对该特定应用程序进行缩放?
我的JavaFX应用程序在Windows缩放时出现问题。有没有办法在Java中通知Windows不要对该特定应用程序进行缩放?
这应该是一个系统属性 -Dprism.allowhidpi=false
。因为你特别要求“在Java内部”,所以可以使用以下方法完成。
System.setProperty("prism.allowhidpi", "false);
在你的应用程序开始之前,JavaFX初始化非常重要,即在Application.launch()之前。
我还没有尝试过在JavaFX中使用它,但这是一个经常出现的问题,可以受程序(exe)属性的影响。尝试选择你的编辑器(Netbeans.exe或Eclipse.exe),选择属性,然后切换到兼容性选项卡。在该选项卡上,您应该会看到一个标记为“在高 DPI设置下禁用显示缩放”的选项。
如果有,请选择它,运行您的程序,看看是否有效。如果有效,那就意味着在您为全世界编译程序之后,在分发之前确保您的启动器也已禁用了该缩放。Slick2D,甚至Swing,都有类似的问题。
使用NIO.2内部更改程序属性也是可能的;但我不知道足够的细节。
如果有效,请告诉我。