看看jdk文档java.awt.Component.update(java.awt.Graphics)是如何工作的。

解决方案 »

  1.   

    因为你每次都调用了paint()重画啊这样试试public void paint(Graphics g){
        super.paint(g);
        //TODO  your code...
    }
      

  2.   

    kypfos(就当我没上过大学) ,我就是你那样做的呀,不行呢
      

  3.   

    阿文,update()?
    我不知道呢,请指点一下,谢谢
      

  4.   

    public void update(Graphics g){
      paint(g);
    }
      

  5.   

    我是这样写的,就是看不出来错误
    public void paintComponent(Graphics g){
    super.paintComponent(g);
      

  6.   

    不是说了吗??
    public void update(Graphics g){
      paint(g);
    }
      

  7.   

    估计是这样的.
    组件有一个属性叫做opaque,通常是true,表示组件是不透明的,所以每次绘制会擦除原来的背景.把它设置为false就可以了.但是这样的解决不是最佳的,最好将每次绘制的请求封装成为一个命令,让后按照命令顺序绘制,如此还可以支持redo和undo
      

  8.   

    同意楼上所说 就是覆盖update fan
    public void update(Graphics g){
      paint(g);
    }
      

  9.   

    每次重画的时候,update都要把画板清空的,你需要把原来的东西重画一遍,然后再新画一些东西