【发布时间】:2010-08-31 05:01:34
【问题描述】:
我们有一个 Java/Swing 客户端已经存在了好几年。当我从 XP 迁移到 Vista(客户端仅在 Windows 上运行)时,我注意到每当在我的辅助监视器上创建一个新窗口(通常是 JFrame 后代)时,该窗口最初显示为空白,即,而不是显示正常内容窗户,它只是一块坚固的灰色块。如果我然后将该窗口拖到主监视器上,第二个它越过监视器边界,它会正确绘制自己,我可以将它拖回辅助监视器。如果窗口是在主监视器上创建的,它总是完美地存在。我从来没有在 XP 上遇到过这个问题,只有在 Vista 上。我无法在 Windows 7 上轻松测试它,因为缺少双显示器 Windows 7 机器。
有人有任何个想法吗?这可能是一个已知的 Java 错误吗?我也在运行最新的 Java 1.6 SDK。
【问题讨论】:
-
检查 Java 客户端是否真的被告知要重新绘制。
-
您可以尝试使用 GraphicsEnvironment 类。这使您可以获取连接到计算机的所有显示器的列表。
-
我在我的游戏中遇到了类似的问题,如果我将窗口拖到我的辅助监视器上,它会变白,直到我将它拖回来。拖回来后屏幕不再更新。
标签: java swing windows-vista