2017-08-16 61 views
3

我們的應用程序的用戶遇到了無法正確繪製Swing GUI的問題。Windows 7更新後在多個屏幕上顯示問題KB4034664(2017年8月)

所有遇到問題的用戶之間的常見聯繫是他們最近應用了Windows更新。用戶報告說,對話框在某些監視器上正確繪製,但在其他監視器上沒有。

的問題那種的例子我們看到*:

Application draw issues

用戶也報告對話框只顯示一幀,而在其他方面透明。如果UI線程被阻止,那麼您會看到同樣的問題。

可能是什麼問題?


*,因爲它包含敏感信息

回答

5

更新我不能發佈我們的實際應用的截圖:此問題已被固定在更新KB4039884


這似乎是一個由最近的補丁引起的相當廣泛的問題。它不限於Java的:

看來,微軟的更新KB4034664(和KB4034679)爲 的Windows 7和Windows Server導致幾個 應用的第二屏幕上顯示的問題。

通過Born CityComputer World報道,並Microsoft themselves

如果一臺機器具有連接多臺顯示器,屏幕 編號不按順序,有些應用程序會遇到 渲染問題。

您應該能夠通過回滾補丁來解決問題。這是一個安全更新(上面有詳細的鏈接),所以如果你特別風險厭惡,你可能不想這樣做。

微軟列出瞭解決方法爲:

  1. 啓用桌面組合(需要顯卡支持)。
  2. 確保主顯示器位於顯示器佈局的左上角。

Example of suggested monitor layout

您也可以嘗試切換到單顯示器設置,或進行其它更改顯示器配置(控制面板>顯示>更改顯示器設置)。一些報告推測,哪個監視器被設置爲「主顯示器」可能會有所作爲。

您也可能想嘗試以下標誌:-Dsun.noddraw=true

+1

我可以確認,更改顯示器佈局解決的克羅諾斯勞動力管理的問題。 (基於Java的Web應用程序) –

+0

[根據neunbeere.de](https://www.neunbeere.de/blog/2017/08/graphics-bug-in-windows-7-after-installing-august-2017-安全更新/)「*實際問題似乎在Windows API函數」StretchDIBits「中。安全更新後,**當使用此函數將圖形繪製到具有負屏幕座標的屏幕部分時,將失敗***」 –