Windows 7更新后在多个屏幕上显示问题KB4034664(2017年8月)
问题描述:
我们的应用程序的用户遇到了无法正确绘制Swing GUI的问题。Windows 7更新后在多个屏幕上显示问题KB4034664(2017年8月)
所有遇到问题的用户之间的常见联系是他们最近应用了Windows更新。用户报告说,对话框在某些监视器上正确绘制,但在其他监视器上没有。
的问题那种的例子我们看到*:
用户也报告对话框只显示一帧,而在其他方面透明。如果UI线程被阻止,那么您会看到同样的问题。
可能是什么问题?
*,因为它包含敏感信息
答
更新我不能发布我们的实际应用的截图:此问题已被固定在更新KB4039884。
这似乎是一个由最近的补丁引起的相当广泛的问题。它不限于Java的:
看来,微软的更新KB4034664(和KB4034679)为 的Windows 7和Windows Server导致几个 应用的第二屏幕上显示的问题。
通过Born City,Computer World报道,并Microsoft themselves:
如果一台机器具有连接多台显示器,屏幕 编号不按顺序,有些应用程序会遇到 渲染问题。
您应该能够通过回滚补丁来解决问题。这是一个安全更新(上面有详细的链接),所以如果你特别风险厌恶,你可能不想这样做。
微软列出了解决方法为:
- 启用桌面组合(需要显卡支持)。
- 确保主显示器位于显示器布局的左上角。
您也可以尝试切换到单显示器设置,或进行其它更改显示器配置(控制面板>显示>更改显示器设置)。一些报告推测,哪个监视器被设置为“主显示器”可能会有所作为。
您也可能想尝试以下标志:-Dsun.noddraw=true
我可以确认,更改显示器布局解决的克罗诺斯劳动力管理的问题。 (基于Java的Web应用程序) –
[根据neunbeere.de](https://www.neunbeere.de/blog/2017/08/graphics-bug-in-windows-7-after-installing-august-2017-安全更新/)“*实际问题似乎在Windows API函数”StretchDIBits“中。安全更新后,**当使用此函数将图形绘制到具有负屏幕坐标的屏幕部分时,将失败***” –