Java GWT对特定元素使用DoubleClickHandler和ClickHandler

Java GWT对特定元素使用DoubleClickHandler和ClickHandler,java,gwt,Java,Gwt,我有一个包含onClick和onDoubleClick处理程序的元素。我需要为每个调用不同的方法,但我不能这样做 有什么办法吗 代码: docksWidget.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { // TODO Auto-generated method stub W

我有一个包含
onClick
onDoubleClick
处理程序的元素。我需要为每个调用不同的方法,但我不能这样做

有什么办法吗

代码:

docksWidget.addClickHandler(new ClickHandler() {                        
    @Override
    public void onClick(ClickEvent arg0) {
        // TODO Auto-generated method stub
        Window.alert("Single Click");
    }
});
docksWidget.addDoubleClickHandler(new DoubleClickHandler() {
    @Override
    public void onDoubleClick(DoubleClickEvent arg0) {
        // TODO Auto-generated method stub
        Window.alert("Double Click");
    }
});

在您的代码中,
ClickHandler
DoubleClickHandler
都将在双击时触发。您需要区分“单击”和“双击的第一次单击”。下面是您可以考虑的代码,它添加了一个定时器到<代码> ClickHandler <代码>,以检测它是“单击”还是“双击的第一次点击”。
final int[] clicks = {0}; //we need to make this final because it's used in lambda

testAnchor.addClickHandler(event -> {
    clicks[0]++;
    Scheduler.get().scheduleFixedPeriod(() ->
    {
        if (clicks[0] == 1)
        {
            //put your single click action here
            Window.alert("single click");
        }
        clicks[0] = 0;
        return false;
    }, 500); //The default double click timeframe in Microsoft Windows is 500ms
});
testAnchor.addDoubleClickHandler(event -> { 
    //put your double click action here
    Window.alert("double click");
});