java - GWT 对特定元素使用 DoubleClickHandler 和 ClickHandler

标签 java gwt

我有一个带有 onClickonDoubleClick 处理程序的元素。我需要为每个方法调用不同的方法,但我无法做到这一点。

有什么办法吗?

代码:

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");
    }
});

最佳答案

在您的代码中,ClickHandlerDoubleClickHandler 都将在双击时触发。您需要区分“单击”和“双击的第一次单击”。下面是您可以考虑的代码,它将计时器添加到 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");
});

关于java - GWT 对特定元素使用 DoubleClickHandler 和 ClickHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45740037/

相关文章:

eclipse - Eclipse 问题 View 中的空错误

java - 定义记录器非静态的缺点

java - 如何在 Liferay 7.2 中使用 DynamicQuery 查询 JournalArticle 的最新版本

netbeans - 在 NetBeans 6.5 的计算机上找不到 JDK

java - 类似于 GWT 但无需编译

html - IE 9 中的布局损坏

java - Java 中的马尔可夫模型决策过程

java - JButton 来回改变某物的颜色?

Spring MVC 和 JSP - 无法将数据从 Controller 传递到 jsp

gwt - 为什么GWT中没有isFocused()?