为什么 Java doClick() 在调用 doClick(pressTime) 时使用 68 毫秒?
2022-09-04 22:42:44
当它调用时,它会发送68毫秒吗?为什么他们决定使用68而不是更四舍五入的数字?它是一个完全任意的数字吗?doClick()
doClick(pressTime)
来自 Java AbstractButton:
public void doClick() {
doClick(68);
}
当它调用时,它会发送68毫秒吗?为什么他们决定使用68而不是更四舍五入的数字?它是一个完全任意的数字吗?doClick()
doClick(pressTime)
来自 Java AbstractButton:
public void doClick() {
doClick(68);
}
这可能与人类平均点击的速度有关。
如果你看看这个计时器,只要稍微锻炼一下,平均有可能达到68毫秒。
他们可能只是做了如下设置,尝试了一下,以获得一个不错的平均点击持续时间,然后将其用作默认值。
var timer = 0;
var results = [];
$('#clicktest').on('mousedown',function() {
timer = window.performance.now();
});
$('#clicktest').on('mouseup',function() {
results.push(window.performance.now()-timer);
var total = 0;
for(c=0;c<results.length;c++) {
total+= results[c];
}
$('#output').text('Average click duration '+ Math.round(total/results.length)+'ms');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="clicktest">Click me</button>
<div id="output">Average click duration N/A</div>
Metal L&F
Windows L&F
doClick 以编程方式模拟按压,例如从鼠标或按键事件 ( ,JButton
TAB
ENTER
)
doClick(int pressTime) 在视觉上将动作绘制为用户的信息,绘制到屏幕上,来自 JVM 的毫秒数非常接近地返回我的数字isPressed
(1999 - 2001 for doClick(2000))
68毫秒的极低数字没有任何屏幕效果,因为人眼无法捕捉到,也许大多数LCD/LED显示器都无法正确重绘这幅画伪影,
答案由@Michael Dibbets更接近setMultiClickThreshhold(long threshhold),