Java:可以从Java中禁用Windows DPI扩展吗?

Java:可以从Java中禁用Windows DPI扩展吗?,java,Java,Windows缩放正在破坏我的JavaFX应用程序的UI。java内部是否有任何方法让windows知道此特定应用程序不应缩放? 谢谢我还没有用JavaFX尝试过,但这是一个经常出现的问题,可能会受到程序(exe)属性的影响。尝试选择编辑器(Netbeans.exe或Eclipse.exe),选择属性,然后切换到兼容性选项卡。在该选项卡上,您应该看到一个标记为“禁用高DPI设置上的显示缩放”的选项 如果你这样做了,选择它,运行你的程序,看看它是否工作。如果是这样的话,那就意味着在为世界其他地方编

Windows缩放正在破坏我的JavaFX应用程序的UI。java内部是否有任何方法让windows知道此特定应用程序不应缩放?
谢谢

我还没有用JavaFX尝试过,但这是一个经常出现的问题,可能会受到程序(exe)属性的影响。尝试选择编辑器(Netbeans.exe或Eclipse.exe),选择属性,然后切换到兼容性选项卡。在该选项卡上,您应该看到一个标记为“禁用高DPI设置上的显示缩放”的选项

如果你这样做了,选择它,运行你的程序,看看它是否工作。如果是这样的话,那就意味着在为世界其他地方编译程序之后,您要确保您的启动器在发布之前也说过禁用了伸缩功能。Slick2D甚至Swing都有类似的问题

还可以使用NIO.2在内部更改程序属性;但我脑子里想的细节还不够多


让我知道这是否有效。

如果您使用的是Windows,我想您应该看看这里:。
它对许多人都有效。

这应该是可能的系统属性
-Dprism.allowidpi=false
。正如您特别提出的“在Java中”这可以使用以下方法来完成

System.setProperty("prism.allowhidpi", "false);

重要的是,这是在JavaFX初始化之前,即application.launch()之前,在应用程序的最开始,我刚刚有一个可执行的jar,它是windows下的一个文档,用javaw.exe打开。我禁用了它,就像您为javaw.exe编写的一样,但不幸的是它没有效果。我有点困惑,什么是最好的方法,使它成为自己的.exe文件的设置将工作。如果你有任何想法,我将不胜感激。谢谢还没有,但我会继续找的。