在JPanel上画了一个图形,如果再画一个图形,怎能保持原先那个图形不闪,我现在的做法是每画一个图形,就把这个图形对象保存起来,然后再画时就首先将保存起来的图形重画下,这样虽然能保证不被覆盖,可是每画时JPanel因调用repaint()而变得好闪,我在java web start上下载过一个画图的,它上面画图根本不存在闪的问题,我不知道是怎么解决的,哪位仁兄知道的话赐教下吧,呵呵

解决方案 »

  1.   

    实现这个方法:
    public void update(Graphics g)
    {
        paint(g);
    }
      

  2.   

    实现这个方法:
    public void update(Graphics g)
    {
        paint(g);
    }
      

  3.   

    楼上是AWT重量级组件的方法吧,对于Swing的轻量级组件是否还有效?
    楼主可以试试,然后再贴子上回复告知一下。
      

  4.   

    机制不对头,再怎么update(g)恐怕也不行
      

  5.   

    画图肯定要用到双缓冲技术的啊.先把图片画在一个内存中的graphics的image上,全部画完了图,再直接将这个image一次性画到你的JPanel上来
      

  6.   

    同意楼上的说法,yourComponent.setDoubleBuffered(true)打开双缓冲看看