java里的鼠标移动怎么实现?急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:20:29
我做了一个屏幕保护的程序,一切OK,当我按下键盘或者鼠标按钮时,可以退出。像XP自带的屏幕保护的一样。
但当我鼠标移动时,它不会退出。XP里,当鼠标移动了一下,就会退出屏幕保护程序。但java怎么实现?就这一部分的源代码。谢谢。
加入addMouseMotionListener后,一运行就退出了。如果不加,则可以运行。
怎么实现mousemove就退出呀?谢谢了!!急!!!
我的源代码(部分):

final JFrame jf=new JFrame();
...
jf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke){
System.exit(0);
}

});
jf.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){

System.exit(0);

}});
/*****************加入以下代码就实现不了***********************/
jf.addMouseMotionListener(new MouseMotionAdapter(){
public void mouseMoved(MouseEvent ee){
System.exit(0);

这是因为一刚运行程序就会收到一个mouseMoved消息
lz可以这么做
首先给你的窗口类添加成员变量
private int x=-99999;
private int y=-99999;

然后这样定义事件处理

public void mouseMoved(MouseEvent ee){

if(this.x!=-99999){
int dx=x-ee.getX();
int dy=y-ee.getY();
if(Math.abs(dx)>10||Math.abs(dy)>10)//判断鼠标移动的幅度,超过一定限度再退出,避免误操作,lz这里可以自由调整
{
System.exit(0);
}
}
this.x=ee.getX();
this.y=ee.getY();

}