Java禁用dpi-aware无法正常工作
我正在尝试使用-Dsun.java2d.dpiaware=false
参数运行Java应用程序,但没有任何反应。
我希望有一个模糊的用户界面,但图标和字体的大小正常,似乎这个标志不起作用。
我在Windows 8.1上使用JDK 1.8.0_45。
我发现了这个错误https://bugs.openjdk.java.net/browse/JDK-8080153但我不明白如何解决它。
修复Windows,请按照下列步骤操作:
-
创建一个windows regedit新DWORD
- 按Windows按钮+ R,键入“regedit”,然后单击“确定”。
- 导航到以下注册表子项:
HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> Windows> CurrentVersion> SideBySide - 右键单击,选择“新建”>“DWORD(32位)值”
- 键入PreferExternalManifest,然后按ENTER键。
- 右键单击“PreferExternalManifest”,然后单击“修改”。
- 输入值数据1并选择十进制。
- 单击确定。
-
创建两个.manifest文件( JDK )
- 转到java JDK安装文件夹并打开bin目录
- 创建一个名为java.exe.manifest的第一个文件(在本文末尾添加代码)。
- 创建第二个名为javaw.exe.manifest(在本文末尾添加代码)。
-
创建两个.manifest文件( JRE )
- 转到java JRE安装文件夹并打开bin目录
- 创建一个名为java.exe.manifest的第一个文件(在本文末尾添加代码)。
- 创建第二个名为javaw.exe.manifest(在本文末尾添加代码)。
-
重启你的java应用程序。
要粘贴到.manifest文件中的代码
false
此修复程序可用于任何程序,而不仅仅是Java。
如果需要为JNLP应用程序启动器修复DPI,则必须将以下密钥添加到.jnlp文件中的resources部分:
升级Windows后(例如从win10到win10 1607),如果它不再起作用,您应该再次应用此修复程序。