作者kenotic (弱智)
看板java
标题[问题] 滑鼠拖曳久了以後取得的座标会晃动
时间Tue Oct 29 07:04:36 2013
最近碰到一个怪问题
程式码改自一位老师放在网站上的资料:
http://tung.tsu.edu.tw/lecture/java/txt/Ch07/J7_6_4.txt
就是我为一个label设定图片icon
并且将该label放在panel里面,让label能够被拖曳
但当label被拖曳 => 放开滑鼠 => 拖曳 => 放开滑鼠...重复此动作4、5个循环
换言之就是drag release动作重复几次後,我察觉被拖曳的label图形开始跳动
於是我用System.out.println去印出mouseDragged里面用e.getX()取得的座标
我发现当图片开始跳动後,e.getX()取得的座标也跟着跳动
(换言之,图片会正常地被拖曳一段距离後开始慢慢跳动,接着剧烈跳动到消失
getX()取得的座标会先从正负几千开始跳,接着跳到正负几亿)
那段的程式码如下:
class CDrawPicB extends MouseMotionAdapter {
public void mouseDragged(MouseEvent e) {
isDrag = true;
if(isInOtherBlock) return;
drag_x = e.getX();
drag_y = e.getY();
up_left_x = up_left_x + (drag_x - press_x);
up_left_y = up_left_y + (drag_y - press_y);
cursor_x = up_left_x + press_x;
cursor_y = up_left_y + press_y;
iconLabel[new_block_location].setLocation(
up_left_x, up_left_y);
}
}
println出来的drag_x一开始都很稳定,数字顶多正负2在跑
但拖曳到後来数字渐渐愈跳愈夸张(正负几亿)
整段程式码在这
http://tinyurl.com/mnpna2r
初学者,写法比较差
上网google试图寻找答案,然而依然没有头绪
还请多提点指教 感谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.129.195