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

    1. 按Windows按钮+ R,键入“regedit”,然后单击“确定”。
    2. 导航到以下注册表子项:
      HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> Windows> CurrentVersion> SideBySide
    3. 右键单击,选择“新建”>“DWORD(32位)值”
    4. 键入PreferExternalManifest,然后按ENTER键。
    5. 右键单击“PreferExternalManifest”,然后单击“修改”。
    6. 输入值数据1并选择十进制。
    7. 单击确定。
  • 创建两个.manifest文件( JDK

    1. 转到java JDK安装文件夹并打开bin目录
    2. 创建一个名为java.exe.manifest的第一个文件(在本文末尾添加代码)。
    3. 创建第二个名为javaw.exe.manifest(在本文末尾添加代码)。
  • 创建两个.manifest文件( JRE

    1. 转到java JRE安装文件夹并打开bin目录
    2. 创建一个名为java.exe.manifest的第一个文件(在本文末尾添加代码)。
    3. 创建第二个名为javaw.exe.manifest(在本文末尾添加代码)。
  • 重启你的java应用程序。

要粘贴到.manifest文件中的代码

                        false    

此修复程序可用于任何程序,而不仅仅是Java。

如果需要为JNLP应用程序启动器修复DPI,则必须将以下密钥添加到.jnlp文件中的resources部分:

升级Windows后(例如从win10到win10 1607),如果它不再起作用,您应该再次应用此修复程序。

**在更新Java之前,您应该将.manifest文件复制并粘贴到新的Java目录中。

Interesting Posts