import java.awt.*;
import java.applet.*;
import java.awt.event.*; public class  Class1  extends Applet
{
   Point startpt,endpt;
   boolean t = true;
public void init()
{
   setBackground(Color.white);
   setForeground(Color.red);
   addMouseListener(new MouseListener() 
   {
      public void mouseClicked(MouseEvent e)
      {
        if (t)
        {
          startpt=e.getPoint();
          t = false;
        }  
        else
        {
          endpt = e.getPoint(); 
          t = true;
          repaint();
         } 
      }
      public void mouseEntered(MouseEvent e) 
      {
      
      } 
      public void mouseExited(MouseEvent e)
      {
      
      }
      public void mousePressed(MouseEvent e) 
      {
      
      }
      public void mouseReleased(MouseEvent e)
      {
      
      }
   });
}
public void paint(Graphics g)
{
   if(endpt!=null)
  {
     g.drawLine(startpt.x,startpt.y,endpt.x,endpt.y);
     System.out.println("Asdf");
   }
}
}

解决方案 »

  1.   

    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;public class  Class2  extends Applet
    {
      Point startpt,endpt;
      boolean t = true;
    public void init()
    {
      setBackground(Color.white);
      setForeground(Color.red);
      addMouseListener(new MouseAdapter()
      {      public void mousePressed(MouseEvent e)
          {if (t)
            {
              startpt=e.getPoint();
              t = false;
            }
            /*else
            {
              endpt = e.getPoint();
              t = true;
              repaint();}*/      }
          public void mouseReleased(MouseEvent e)
          {
              endpt = e.getPoint();
              t = true;
              repaint();      }
      });
    }
    public void paint(Graphics g)
    {
      if(endpt!=null)
      {
        g.drawLine(startpt.x,startpt.y,endpt.x,endpt.y);
       // repaint();
        System.out.println("Asdf");
      }
    }
    }
      

  2.   

    呵! 作者该给分了!
    但我想请楼上两位, 你们的答案虽然都是正确的!
    但却稍有不同:
    new MouseListener() 和 new MouseAdapter()
    有何区别!!
      

  3.   

    MouseListener() 為鼠標接收器﹐須對其中各個事件重載﹐而MouseAdapter()為鼠標適配器
      

  4.   

    谢谢楼上的ypf990
    看来MouseAdapter更为简便了
      

  5.   

    yes, ADAPTER is very convenience.