Windows 7更新KB4034664(2017年8月)后在多个屏幕上显示问题
我们的应用程序的用户一直遇到Swing GUI无法正确绘制的问题。
所有有问题的用户之间的共同点是他们最近应用了Windows更新。 用户报告说,对话框在某些监视器上正确绘制,但在其他监视器上没有。
我们看到的问题的一个例子*:
用户还报告仅显示框架的对话框,否则是透明的。 如果UI线程被阻止,你会看到同样的问题。
可能是什么问题呢?
*我无法发布实际应用程序的屏幕截图,因为它包含敏感信息
更新:此问题已在更新KB4039884中得到修复。
这似乎是由最近的补丁引起的相当广泛的问题。 它不仅限于Java:
看来,用于Windows 7和Windows Server的Microsoft更新KB4034664 (和KB4034679 )导致在第二个屏幕上显示多个应用程序的问题。
Born City , Computer World和微软自己报道:
如果一台机器连接了多台显示器并且屏幕编号没有按顺序排列,则某些应用程序将遇到渲染问题。
您应该能够通过回滚补丁来解决问题。 这是一个安全更新(链接上面详细说明了包含的内容),所以如果你特别厌恶风险,你可能不想这样做。
Microsoft将解决方法列为:
- 启用桌面合成(需要显卡支持)。
- 确保主监视器位于监视器布局的左上角。
您也可以尝试切换到单个显示器设置,或对显示器配置进行其他更改(控制面板>显示>更改显示设置)。 一些报告推测哪个显示器设置为“主显示器”可能会有所不同。
您可能还想尝试以下标志: -Dsun.noddraw=true
- “AL lib:alc_cleanup:1设备未关闭”是什么意思?
- 错误的布尔映射Hibernate(ArrayIndexOutOfBoundsException)
- 将CSV文件转换为Java – 向后复制
- Java:如何以编程方式选择和扩展JTree中的多个节点?
- 使用Quercus从Java调用PHP
- 在Spring Boot应用程序中使用Rackspace时,Apache jclouds java.lang.NoSuchMethodError
- Eclipse + tomcat – 部署时的ClassNotFoundexception
- 如何从非src文件夹强制log4j加载xml配置?
- 为什么在Java中-1右移1 = -1?