当前位置: 首页 > 知识库问答 >
问题:

Java禁用dpi感知不工作

庾奇思
2023-03-14

我试图用Dsun运行一个Java应用程序。java2d。dpiaware=false,但什么也没有发生。

我希望有一个模糊的UI,但正常大小的图标和字体,似乎这个标志不起作用。

我在Windows 8.1上使用JDK 1.8.0\U 45。

我发现了这个bughttps://bugs.openjdk.java.net/browse/JDK-8080153但我不知道如何解决这个问题。

共有3个答案

汪翰墨
2023-03-14

您只需使用:

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

在初始化主参数之前,即在应用程序开始之前,这一点很重要。launch()或在main()函数的开头

劳星晖
2023-03-14

尝试使用Dsun运行虚拟机。java2d。uiScale=1,它修复了我的swing/vtk应用程序

卢皓轩
2023-03-14

>

  1. 按Windows按钮R,键入注册表,然后单击确定。
  2. 导航到以下注册表子项:
    HKEY_LOCAL_MACHINE

创建两个。清单文件(JDK)

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

创建两个。清单文件(JRE)

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

重新启动java应用程序。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>

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

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

<代码>

升级Windows(例如从win10升级到win10 1607)后,如果此修复程序不再有效,则应再次应用。

 类似资料:
  • 问题内容: 我正在尝试使用参数运行Java应用程序,但没有任何反应。 我期望用户界面模糊,但图标和字体的大小正常,看来此标志不起作用。 我在Windows 8.1上使用JDK 1.8.0_45。 我发现了这个错误https://bugs.openjdk.java.net/browse/JDK-8080153,但我不知道如何解决它。 问题答案: 创建一个Windows注册表编辑新的DWORD 按Wi

  • Windows缩放弄乱了我的JavaFX应用程序上的UI。在java中有什么方法可以让windows知道这个特定的应用程序不应该缩放吗?谢谢

  • 我使用Spring缓存抽象使用Ehache作为缓存提供程序。我试图将缓存操作附加到Spring JPA事务,但无法这样做。 即使事务失败/回滚缓存放发生。 配置, springcache-abs-ehcache。xml, 雇员安置处, 事务方法, 测试用例(调用者), 测试应该成功,也就是说,如果事务在该方法中回滚,Spring不应该将数据放入方法中的缓存中。但是,即使事务失败,Spring也会将

  • 我有Visual Studio 2013,没有插件或任何花哨的东西。每当我编码时,每隔一段时间(可能每半小时一次),intellisense就会随机停止完成我的句子,或者在我按下Ctrl键时弹出。 我试过工具- 现在唯一能解决这个问题的就是关闭VS并重新打开它。但正如你所能想象的,这是非常令人沮丧的。

  • 我刚刚下载了VisualStudio代码,我的Intellisense没有自动工作。 控制这一点的两个设置似乎设置正确: 当我开始输入并按下“CTRL空间”时,我确实会得到一个智能感知菜单,但这给了我一个所有东西的列表,而不是专门针对我的对象的东西。 我做错了什么?

  • 这里似乎有什么问题?