比如说,如果我在JFrame中画了一个圆圈,如果我将它悬停在它上面三秒钟,我想画它。
我有一个MouseMotionListener告诉我JFrame中光标的位置,但到目前为止就是这个。
public void mouseMoved(MouseEvent e)
{
PointerInfo a = MouseInfo.getPointerInfo();
cursorPos = a.getLocation();
SwingUtilities.convertPointFromScreen(cursorPos, e.getComponent());
}
我对动作听众来说还是新手。如果我想测试鼠标是否不移动,我应该添加什么?
另外,我只是好奇,为什么MouseEvent中的MOUSE_MOVED被认为是int?
答案 0 :(得分:1)
向后回顾你的问题。
为什么MouseEvent中的MOUSE_MOVED被认为是int?
所有鼠标常量都是整数。这就是在1.5之前的Java中如何进行枚举。
如何找到鼠标上次移动后的时间?
在mouseMoved方法中,将当前时间保存在GUI模型中的某个位置。然后在GUI模型中编写一个返回空闲时间的方法。
idleTime = System.currentTimeMillis() - savedTimeinMillis.
您将空闲时间除以1000秒。