gpt4 book ai didi

java - Java如何统计点击次数?

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:13 25 4
gpt4 key购买 nike

有人知道java如何计算点击次数吗?如果是的话,记录在哪里?我知道这是幕后黑手,但我想知道它们的定义是什么。

我通过 Toolkit.getDefaultToolkit().getDesktopProperty("awt.multiClickInterval") 找到了多次点击的延迟计数器

但是,我找不到允许鼠标移动并且不重置计数器的像素范围。任何帮助将不胜感激。

编辑:我了解 MouseEvents。我不需要从Java获取此信息,我很好奇java首先如何决定是否存在多次点击:
1)时间是一部分(如上所述)2)鼠标是否移动——给出多少余地(以像素为单位)。
3)可能是另一种我想不到的品质。

我对第 2 点和第 3 点很好奇

运行Win 8

进一步编辑:这在杂草丛中有点迷失了。好的,所以点击本身是通过操作系统传递的事件。然而,在生成的MouseEvent中,有一个.getClickCount()函数,它告诉您在awt.multiClickInterval指定的时间间隔内发生了多少次点击。然而,在一次单击点周围有一个小区域,鼠标可以移动到该区域并再次单击,仍然会被计数(鼠标不必完全停留在同一像素上)。问题是:您可以点击距离一个点并且仍然可以计算的最大像素数是多少?这似乎不是操作系统的问题,因为间隔是 awt 属性。

谢谢。

最佳答案

Java 中的事件是从 JVM 转发的。 JVM 位于操作系统之上,从操作系统转发系统级事件(例如:鼠标单击、按键、信号等),然后按优先级顺序转发到 JVM 上运行的程序(例如 Java 程序)。 Java 通常不会决定系统级事件是否发生(至少在 native 不会)。

On ClickCount - 此计数还来自您收到的点击事件的数量。 IO 接收取决于时钟周期。任何人都无法发送计算机无法跟上的 IO 量。然而,当我用计算机模拟点击量时,它无法完全准确地测量每 3-4 个时钟周期约 1 个 IO。不过,这是一个令人不快的侧面案例。我的测量结果也完全取决于我的硬件,因此您应该考虑到这一点。

点击次数是通过时间差来识别的,而不是像素距离。我曾经读到,这被区分为小于 500 毫秒的时间。不过,并没有统一的时间标准。我能找到的唯一与我一致的是WikiPedia .

编辑:经过进一步调查,根据鼠标的加速度和像素距离,似乎存在轻微的像素增强。然而,这很难检测到,并且不是您需要严重依赖的东西。只要您尝试双击大约相同的位置,就应该没问题。

关于java - Java如何统计点击次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24389913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com