我正在试着写一个if语句,当鼠标静止时,它会做一些事情。我正试图通过point来实现这一点
Point storedPosition = MouseInfo.getPointerInfo().getLocation();
if (storedPosition == currentMousePosition){
// do things when mouse is still
} else {
// do things when mouse is moving
}
我可以使用什么点来获取currentMousePosition
发布于 2018-08-20 02:13:54
如果我能做对的话,你可以试着检查鼠标的位置是否与之前的检查相比有所改变。
private static void checkMouseLocation() {
PointerInfo info = MouseInfo.getPointerInfo();
// This can sometimes be null, so check for it (e.g. when Windows' UAC
// screen is active)
if (info == null) {
return;
}
Point currentLocation = info.getLocation();
if (lastLocation != null && !lastLocation.equals(currentLocation)) {
lastMoved = System.currentTimeMillis();
triggerActivity();
}
lastLocation = currentLocation;
}
发布于 2018-08-20 05:05:18
您可以监听来自操作系统的鼠标移动事件。JNativeHook library可以帮助您注册监听器。Here就是这样一个监听器的例子。在这种监听器主体中,当鼠标移动/拖动时,您可以触发所需的任何代码
https://stackoverflow.com/questions/51920460
复制相似问题