我为程序设置了鼠标移动,当我从顶部,右侧或底部移出屏幕时,效果很好,但是由于某种原因,当我从屏幕向左移出时,鼠标坐标会跳动右边的6像素,下面的30像素(始终完全相同)。
然后,如果我继续向左移动鼠标(此时鼠标指针(鼠标光标图标的左上角)不在屏幕上,但其余鼠标光标图标仍然在屏幕上几像素),它将向左移动,并在距离左侧3个像素处稳定。奇怪的是,当鼠标指针停止向左移动时,屏幕上仍有像素,因此甚至没有导致这种现象的鼠标指针。
示例:如果我向屏幕左侧移动并以坐标(0,500)离开屏幕,它将显示(0,500),但是当我向左移动时再增加1个像素,它将向右和向下跳跃并显示(6,530),然后我继续向左移动,它将稳定在(3,530)。
我不确定是什么原因导致的,但是我正在使用:
public class MouseManager implements MouseListener,MouseMotionListener {}
public void mouseMoved(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}
不确定为什么要这样做(并且仅当离开屏幕左侧时)。我正在尝试使用两个带有坐标的控制台日志进行调试,以及在屏幕上绘制一个小矩形,并且两个测试都显示相同的结果。