我有一个使用 AWT 的 Java Applet。在某些(罕见)情况下,平台无法正确刷新屏幕。我可以移动或最小化/最大化窗口并查看我的小程序是否正确刷新。我正在寻找能够给我最完整的小程序屏幕重绘的代码,模拟最小化/最大化的行为。
我尝试在父容器上调用paint()/repaint()/invalidate()/update() 的各种组合并在各种子容器上递归。但是,没有任何组合(我发现)可以清除我遇到的框架错误。我正在寻找完全刷新小程序的技术,即使它们可能会导致一些轻微的闪烁,因为我只会在有问题的平台上调用此代码。
在我的测试中,迁移到 Swing 并没有帮助解决我的问题。
顺便说一下,这是我之前(更复杂的)帖子的简化:Java Applet, AWT Refresh problem Mac OS X 10.4
编辑:线程调查并没有解决这个问题。将最佳答案标记为好答案。