用双缓冲,例子如下:
http://expert.csdn.net/Expert/topic/1107/1107615.xml?temp=.542248

解决方案 »

  1.   

    Applet这个问题似乎跟性能有关,即使使用DoubleBuffer也不能够完全消除这个影响哦。
      

  2.   

    双缓冲的例子我也看过,但不太明白,请针对我的程序进行一下详解。
    要说一句,在我的程序中,applet的背景为一张图片
      

  3.   

    Applet1会自动继承父类的update方法。update做两个工作1、清空原本的区域;2、调用paint。所以,有可能造成图像更替时有闪烁现象。如果你覆盖了update,那么它就会做你给他做的事情,不会再调用paint,除非你自己在覆盖的函数中调用paint。如果你不想要闪烁,那么你可以覆盖update,在其中只放一个paint方法,这样就不会有闪烁。祝你愉快。
      

  4.   

    图片?那真是死定了。双缓冲就是先把要绘制的图像绘制在off-screen的内存里,等到绘制全部完成后,一下全部绘到屏幕上去,可以很大程度上减少闪烁的影响。不过Applet的那个问题我也遇到过,可能使我的电脑不行吧,是不能完全消除闪烁的。你在IE里边浏览大的图片还会闪烁呢。呵呵。