private int orgX;
private int orgY;
放到DrawLine类里

解决方案 »

  1.   

    System.out.println("this is Dragged :"+orgX+" "+orgY);  //此处的 orgX和 orgY 总是零,为什么?在这里,你没用从MouseEvent e对象对获得新的坐标位子
    改成这样
    f.getGraphics().drawLine(orgX,orgY,e.getX(),e.getY());
      

  2.   

    应该是这样
    ---------------------------
    System.out.println("this is Dragged :"+e.getX()+" "+e.getY());  //此处的 orgX和 orgY 总是零,为什么?
      

  3.   

    System.out.println("Origin:" + orgX + " " + orgY 
                      + "; this is Dragged :"+e.getX()+" "+e.getY());
      

  4.   

    我的 
    private int orgX;
    private int orgY;
    在MouseLi 类中 
    public void mouseDragged(MouseEvent e) 也在 MouseLi类中 为什么 访问 orgX和orgY都 是零??
      

  5.   

    /*
     * Created on 2005-2-21
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    package test;import java.awt.*;
    import java.awt.event.*;public class DrawLine
    {    
    private static int orgX;
    private static int orgY;
    Frame f = new Frame("画图");
        public DrawLine(){
    f.setSize(300,300);
    f.setVisible(true);
    f.addMouseListener(new MouseLi());
    f.addMouseMotionListener(new MouseLi() );
        }
    class MouseLi implements MouseListener,MouseMotionListener
    { public void mousePressed(MouseEvent e)
    {

    orgX=e.getX();
    orgY=e.getY();
    System.out.println(""+orgX+" "+orgY);

    }
    public void mouseReleased(MouseEvent e)
    {
    //f.getGraphics().setColor(Color.red);
    f.getGraphics().drawLine(orgX,orgY,e.getX(),e.getY());

    }
    public void mouseDragged(MouseEvent e)
    {

    System.out.println("this is Dragged :"+orgX+" "+orgY);  //此处的 orgX和 orgY 总是零,为什么?

    f.getGraphics().drawLine(orgX,orgY,e.getX(),e.getY());
    f.getGraphics().clearRect(orgX,orgY,300,300);
    }
    public void mouseExited(MouseEvent e){}
    public void mouseEntered(MouseEvent e){}
    public void mouseClicked(MouseEvent e){}
    public void mouseMoved(MouseEvent e){}
    }
    public static void main(String[] args){
    DrawLine ll = new DrawLine();

    }

    }