我认为上面的方法可能有点缺陷。
你应该用函数去取出一个rect是他非法(缩小重绘区域),然后repaint才行。否则很可能会出现抖动。
楼上的老朋友思路是对的。
我很相信他的,他说得一般没错。

解决方案 »

  1.   

    楼上兄弟抬举我了,JAVA图形编程我研究得非常的肤浅。
    我觉的你说的取RECT缩小重绘区域的方法不太妥哦,举个简单常见的例子:
    吃豆子游戏,精灵在不停地移动,背景上的豆子正在飞快地被它给吃掉
    在此种情况下,你如何准确确定重绘的区域呢?只有即时改变地图信息,根据地图信息重绘背景。欢迎纠正。:)
      

  2.   

    我认为这样就可以了
    你在画小图片的时候是不是这样的呀
    public paint(Graphic g){
        super.paint(g);
        if(bFlag){
            //Paint the petty picture
        }
    }
    然后在某处调用repaint();
    如果你不想显示小图片,就把bFlag置为false就可以了,然后再repaint();就可以了.如果你不是这样做的,可一这样做试试.
      

  3.   

    关键是消除闪烁?
    如果在JPanel上绘制,自动双缓存!
      

  4.   

    TO:ALL
    这个问题我已经找到答案
    不过xioyoo(xioyoo) 的方法中,我怎么可以使一个图片的背景为透明
    多谢!!
      

  5.   

    不好意思,对Image包没有任何的研究。在图片使用前将图片处理为透明,试试呢