重写paintChildren 方法,当然里里面的参数要设置好,传递的要正确
public void paintChildren(Graphics g)
  {
    Graphics2D g = (Graphics2D) g;
    g.setColor(Color.black);
    g.clearRect(0,0,1000,1000);
    g.drawRect(dragsrcx,dragsrcy,ee.getX()-dragsrcx,ee.getY()-dragsrcy);
    g.dispose();
  }

解决方案 »

  1.   

    重写paintComponent方法也可以
    还有一个方法是
    1,每次记忆鼠标安下前一个图形11
    2,在鼠标拖动过程中,不断的以当前位置在记忆的图形11中绘制,并替换之前者(鼠标拖动每次都会产生一个新的图形)
    3,鼠标释放,绘制最后的图形到图像文件里面去。
      

  2.   

    to: gift2u(gift2u礼物)
    第二个方法不是也在鼠标的事件里调用么,那样也是耗资源阿
      

  3.   

    to: javaxinshou1 (蓝鸟)     你怎么还是没有用到双缓冲技术呢,那个其实是个很简单的技术,稍微一用很多问题就都解决了,这个也是你的帖子吧..http://community.csdn.net/Expert/topic/3350/3350234.xml?temp=.824917