有人知道java如何计算点击次数吗?如果有,那么记录在哪里?我知道这是一个很好的东西,但我想知道他们的定义是什么。
我通过Toolkit.getDefaultToolkit()找到了多次点击的延迟计数器.getDesktopProperty(" awt.multiClickInterval")
但是,我无法找到允许鼠标移动的像素范围,并且不会重置计数器。任何帮助将不胜感激。
编辑:
我了解MouseEvents。我不需要从Java获取这些信息,我很好奇java是如何决定是否首先出现多次点击:
1)时间是一部分(上面提到)
2)鼠标是否移动 - 给出多少余地(以像素为单位)
3)可能是我想不到的另一种品质。
我对第2点和第2点感到好奇3
运行Win 8
进一步编辑: 这在杂草中有点丢失了。好的,所以点击本身就是通过操作系统传递的事件。但是,在生成的MouseEvent中,有一个.getClickCount()函数,它告诉您在awt.multiClickInterval指定的时间间隔内发生了多少次点击。然而,在一次点击周围有一个小区域,鼠标可以移动并再次单击并仍然计数(鼠标不必完全保持在同一像素上)。问题是:距离一个点可以点击的最大像素数是多少,仍然可以计算?这似乎不是操作系统的事情,因为间隔是一个awt属性。
谢谢。
答案 0 :(得分:1)
Java中的事件是从JVM转发的。 JVM位于操作系统的顶部,该操作系统从操作系统转发系统级事件(例如:鼠标单击,按键,信号等),然后将其转发到JVM上运行的程序(例如Java)程序)按优先顺序排列。 Java通常不会决定是否发生了系统级事件(至少不是本机的)。
在ClickCount上 - 此计数也来自您收到的点击事件数。 IO接收取决于时钟周期。没有人能够发送一定数量的计算机无法跟上的IO。但是,当我使用计算机模拟点击量时 - 它完全无法测量,每3-4个时钟周期大约1 IO。不过,这是一个淫秽的情况。我的测量完全取决于我的硬件,所以你应该考虑到这一点。
点击次数由时差识别,而非像素距离。我曾经读到,这被区分为不到500毫秒。但是,没有标准化的时间。我能找到的唯一同意我的是WikiPedia。
编辑: 经过进一步研究,基于鼠标的加速度和像素距离似乎有轻微的像素增强。然而,这很难被发现,并且不是你需要大量依赖的东西。只要您尝试在同一个地方双击,那么您应该没问题。