在paintComponent()里把Graphics设置为setXORMode(Color),应该就不会互相覆盖
那个灰色用paintImmediately试试

解决方案 »

  1.   

    第一个问题是解决了,第二个问题,我在实现鼠标拖动的方法中也用了setXORMode(getBackground()),问题也解决了.不过我有一点搞不清楚,为什么加了上面那个setXORMode(Color)以后,颜色就不会覆盖呢.
      

  2.   

    我还有一个问题,我以前做了一个鼠标点击事件  
    当鼠标发生press动作时,就产生加入一个新的图象  
        public  void  mousePressed(MouseEvent  evt)  
                         {  
                             int  x  =  evt.getX();  
                             int  y  =  evt.getY();  
                             Graphics  g=getGraphics();  
                             Image  image=Toolkit.getDefaultToolkit().getImage("image.gif");  
                               g.drawImage(image,x,y,null);  
                               g.dispose();  
    第一次点击鼠标时,显示不出图象,以后点击鼠标时,就会显示.请问这是为什么啊???
      

  3.   

    下面这个问题,我找到原因了,原来用Toolkit.getDefaultToolkit()来取图片,会有延迟,第一次取的时候,并没有把图片给取出来.用新建ImageIcon类的方法可以解决.