13

doClick()它调用时它doClick(pressTime)会发送 68 毫秒吗?为什么他们决定选择 68 而不是一个更整数的数字?它是一个完全任意的数字吗?

来自 Java AbstractButton:

public void doClick() {
    doClick(68);
}
4

2 回答 2

6

这可能与人类平均点击的速度有关。

如果你看一下这个计时器,稍微锻炼一下,平均可以达到 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>

于 2016-06-15T16:00:59.043 回答
1
  • 请注意,大多数绘画文物Metal L&F仅作为默认值有效,feWindows L&F完全忽略了这一点,它没有此方法作为对等方或返回从 Win 会话运行的编程语言,

  • doClick以编程方式模拟JButton按下,例如从鼠标或键事件(TABENTER

  • doClick(int pressTime)以视觉方式将动作绘制为用户的信息,绘制isPressed到屏幕,来自 JVM 的毫秒数非常接近地返回给我(1999 - 2001 for doClick(2000))

  • 68 毫秒的非常低的数字没有任何屏幕效果,因为人眼无法捕捉到,可能大多数 LCD / LED 显示器无法正确重绘此绘画作品,

  • @Michael Dibbets的回答更接近setMultiClickThreshhold(long threshhold)

于 2016-06-16T08:50:26.910 回答