偶google了一下,有位专家说:
这种方法耗费较多资源,Image一般不要超过500X500
而偶的Image是640X480看来没法偷懒,得计算重画区域,采用
repaint(x,y,width,height)

解决方案 »

  1.   

    特别感谢icloud3!
    偶慢慢研究 http://www.iteye.com/topic/624169 
      

  2.   

    其实 闪烁就是 因为先画了一遍底色引起的 g.setColor(Color.green.darker().darker()); 
        g.fillRect(0,0,r.width,r.height);
    所以要么就用image直接覆盖掉上次的内容要么就只能用双缓存,不要让画底色的行为直接显示出来。
      

  3.   


    抱歉, 偶省略了很多代码
    实际画的代码远不止这些我的意思是,如果 paint方法里每次都先画一次底色,就会有闪烁效果。
    跟你有没有省略 其他代码无关。这么说吧,在动画中每一帧前插入一张 整个画面单一颜色的,你想想是什么效果。