public void mouseReleased(MouseEvent e) 
{
x = e.getX();
y = e.getY();
flag = false;
repaint();
}去掉该函数中的repaint()方法试试

解决方案 »

  1.   

    http://www.comejava.com/dispbbs.asp?boardid=4&id=1069&star=1#1069
    看看这个帖子你会明白的
      

  2.   

    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.awt.event.*;public class Test2 extends JApplet {
    boolean flag = false;
    int x = 20;
    int y = 20;
    int x1=0,y1=-100;

    Container panel;
    public void init() {
    panel = getContentPane();
    panel.addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent e) {
    flag = true;
    //x = e.getX();
    //y = e.getY();
    }
    public void mouseReleased(MouseEvent e) {
    x1=x;
    y1=y;
    x = e.getX();
    y = e.getY();
    flag = false;
    repaint();
    }
    }); //end addListener

    panel.addMouseMotionListener(new MouseMotionAdapter() {
    public void mouseDragged(MouseEvent ee) {
    if (flag) {
    x1=x;
      y1=y;
    x = ee.getX();
    y = ee.getY();
    repaint();
    } // end if
    }
    });
    } // end init()

    public void paint(Graphics g) {
      g.setXORMode(getBackground());
      g.drawString("鼠标拖哪儿,我就去哪儿!!!", x1, y1);
        g.drawString("鼠标拖哪儿,我就去哪儿!!!", x, y);
    } // end paint
    }
      

  3.   

    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public class Test3 extends JApplet {
    boolean flag = false;
    int x = 20;
    int y = 20;
    int width;
    int height;
    Color fgcolor, bgcolor ;
    Image offScreen;
      Graphics tempGrapthics;
    Container panel;
    public void init() {
          width = getSize().width ;
            height = getSize().height ;
            offScreen = createImage(width, height) ;
            fgcolor=Color.black;
            bgcolor=Color.white;
      panel = getContentPane();
      panel.addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent e) {
    flag = true;
    }
    public void mouseReleased(MouseEvent e) {
    x = e.getX();
    y = e.getY();
    flag = false;
    repaint();
    }
    }); //end addListener

    panel.addMouseMotionListener(new MouseMotionAdapter() {
    public void mouseDragged(MouseEvent ee) {
    if (flag) {

    x = ee.getX();
    y = ee.getY();
    repaint();
    } // end if
    }
    });
    } // end init()
    private void paintText(Graphics g)
        {
        
            g.setColor(bgcolor) ;
            g.fillRect(0, 0, width, height) ;
            g.clipRect(0, 0, width, height) ;
            g.setColor(fgcolor) ;
            g.drawString("鼠标拖哪儿,我就去哪儿!!!", x, y);
        }
    public void paint(Graphics g) {
        paintText(offScreen.getGraphics());
            g.drawImage(offScreen, 0, 0, null) ;
    } // end paint
    }