java - 测量鼠标被按住多长时间?

标签 java jbutton mouselistener

我正在开发一款需要按住按钮的游戏。我希望能够根据按下按钮多长时间来显示图像,即:

x = 秒按钮被按住

如果 3.1 秒 > x > 2.9 秒

然后 显示图片1

如果 x < 2.9 或 x > 3.1

然后 显示图片2

我如何使用鼠标监听器对此进行编程?

谢谢。

最佳答案

您可以使用下面的代码片段来解决问题 -

double startTime, endTime, holdTime;
boolean flag = false;

@Override
public final void mousePressed(final MouseEvent e) {
    startTime = System.nanoTime();
    flag = true;
}

@Override
public final void mouseReleased(final MouseEvent e) {
    if(flag) {
        endTime = System.nanoTime();
        flag = false;
    }
    holdTime = (endTime - startTime) / Math.pow(10,9);
}

holdTime 会以秒为单位为您提供点击鼠标的时间。

关于java - 测量鼠标被按住多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31567239/

相关文章:

java - 有没有一种简单的方法来计算 x * 2 + 1?

java - 不正确的config.xml

java - 哈希码新手,需要帮助理解代码片段

javascript - 处理 Microsoft Edge 浏览器中奇怪的倒转轮事件 deltaX?

java - public classname() 永远不会在类 classname 中调用 - Java

java - 是否有可能获得 putextra 的名称/标签?

java - JTabbedPane JLabel, JTextField

java - 为什么我的 actionListener 不工作?

java - 许多 jbutton 具有相同的 onkeypress 功能

Java 简单弹跳球、单线程、鼠标监听器、JFrame