Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT-处理对同一元素的双击和单击_Java_Gwt_Onclick_Double Click_Ondoubleclick - Fatal编程技术网

Java GWT-处理对同一元素的双击和单击

Java GWT-处理对同一元素的双击和单击,java,gwt,onclick,double-click,ondoubleclick,Java,Gwt,Onclick,Double Click,Ondoubleclick,我有一个带有onClick处理程序的自定义小部件。问题是,当用户双击元素时,第二次单击也会触发重复调用。试图通过使用onDoubleClick处理程序来避免调用,双击时调用会进入该处理程序,但只有在执行onClick后才会进入。因此,重复呼叫仍在发生 我们已经看到了在Javascript中使用计时器的解决方案,以避免在double上重复请求。在GWT中有可能有类似的事情吗 或者有没有其他更好的方法来避免双击GWT中的元素时重复请求?只要小部件正在执行任务,就用“加载微调器动画图像”替换小部件。准

我有一个带有onClick处理程序的自定义小部件。问题是,当用户双击元素时,第二次单击也会触发重复调用。试图通过使用onDoubleClick处理程序来避免调用,双击时调用会进入该处理程序,但只有在执行onClick后才会进入。因此,重复呼叫仍在发生

我们已经看到了在Javascript中使用计时器的解决方案,以避免在double上重复请求。在GWT中有可能有类似的事情吗


或者有没有其他更好的方法来避免双击GWT中的元素时重复请求?

只要小部件正在执行任务,就用“加载微调器动画图像”替换小部件。准备好后,用小部件将其替换回来


由于图像不包含clickhandler,因此不会接收到第二次单击。

我通过以毫秒为单位计算当前时间并使用此方法的最后一次处理检查它来防止双击。如果第一次和第二次单击之间的间隔小于1秒,则第二次单击将被阻止

long lastClick = 0;
if (lastClick < System.currentTimeMillis() - 1000)
{
    // do logic
}
lastClick = System.currentTimeMillis();
long lastClick=0;
如果(最后单击

上述链接中给出的答案将有助于处理双击按钮的操作

但是如果它是一个自定义小部件并且.setEnabled(false)不起作用,我们可以使用一个静态布尔变量,条件检查它是否false,然后单击一次允许并将其设置为true,然后在成功时将其设置回false。如果双击布尔值将为,if条件将失败