我有一个带有某种重绘问题的Swing应用程序.当屏幕(JFrame)关闭时,该屏幕上的工件有时会涂在其他屏幕上.它完全不能在我们办公室的100多台开发人员机器上使用,而且大多数用户使用该软件.在过去几年中,关于这个问题的报道很多,但我们总是把它归咎于显卡或驱动程序.尽管如此,在过去几个月中,该问题的报告数量急剧增加,因此我们需要找出真正的原因.
几乎所有客户都在Windows上运行,它影响Windows 7和8机器.我们通常在JRE 1.6.0_29上运行,但问题也发生在1.6.0_45和1.7.0_51.
下图说明了这个问题.我用红色概述了这个工件 - 这是另一个被关闭的JFrame的一部分.当JFrame可见时,它不在屏幕上的那个位置.另请注意,工件正上方的JTable列不符合要求.最后,请注意,工件不是仅绘制在JTable上,而是绘制在其父级JScrollPane和屏幕底部的单独JPanel上.
有人有什么想法会导致这个吗?
