在java2D画图程序的随笔画中用什么方法能取到鼠标拖动的倒数第2个点呢?
 public void mouseDragged(MouseEvent )中取到数第2个点 清高手赐教

解决方案 »

  1.   

    可以定义一个"动态数组"(如用ArrayList实现),里面放的是Point类型的(即成员是int x,int y),每次触发鼠标事件时,都用getX(),getY(),并将获得的坐标值作为Point的属性生成一个Point对象放到你定义的那个数组中,那么,你要取得倒数第二个点的坐标值就很可以直接从那个"动态数组"中取了。不知道我这样讲,能说清楚吗?
      

  2.   

    楼上的能不能写一下啊
    因为动态数组我不太会用,现在我不能确定我鼠标能获得多少个点,那我从数组中取倒数第2个点时应该怎么确定ArrayList[?]呢?/
    谢谢大虾 !!
      

  3.   

    ArrayList al=new ArrayList();这样你就拥有了一个“动态数组”(为了好理解,就这样称呼吧,之所以这样称呼,是因为这个类的底层是用数组实现的,并且你不用去固定这个“数组”的大小,它会随着你加入数据项后,自己自动增长)。
    然后,在每一次触发鼠标事件时可以这样做al.add(p),其中p是用在这个事件中获取的坐标值生成的一个Point对象,并且每加入一个点时,你就把变量i加1(i相当于全局有效的变量),那么到你将来要取倒数第二个点时,你可以这样做:al.get(i-1)(这句话即是取出“数组中的第i-1个元素,这i-1就是倒数第二个,这个get()方法是ArrayList类已经提供了的,具体的参数细节请查看API文档)。这样说能明白吗,楼主试着实现其细节吧?
      

  4.   

    补充一点,add()方法也是API提供的