在java2D画图程序的随笔画中用什么方法能取到鼠标拖动的倒数第2个点呢?

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

6 个解决方案

#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提供的

#5


谢谢牛人

#6


也是新手,大家一起共同学习!

#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提供的

#5


谢谢牛人

#6


也是新手,大家一起共同学习!