如何防止GXT网格中的Click和DoubleClick事件冲突?

时间:2012-05-22 06:21:15

标签: java click gxt double-click

我正在使用GXT2.2.5的Grid,并希望处理ClickDoubleClick事件。

问题在于,在执行此操作时,Click事件有时会针对每个DoubleClick被触发两次。我的目的是阻止第二次拨打Click

以下是相关代码:

grid.addListener(Events.OnDoubleClick, new Listener<BaseEvent>() {
    public void handleEvent(BaseEvent e) {
        GridEvent event = (GridEvent) e;
        doubleClick(getSelectedContent());
    }
});

view.getGridContent().addListener(Events.OnClick, new Listener<BaseEvent>() {
    public void handleEvent(BaseEvent be) {
        final GridEvent event = (GridEvent) be;

        Date date = new Date(); 
        long current =  date.getTime();

        if ((current - lastClicked) > 1000){
            click(getSelectedContent());
        }
        lastClicked = current;                              
    }
});

可以看出,我目前的方法是检查在1000毫秒后触发第二次点击,而不是将调用委托给click(),但这不能正常运行。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

试试这个......

使用getClickCount()方法。这个方法讲述了点击的类型(即单一,双重,三重等等),但不记录点击次数......

使用这种方法,你可以知道点击是单人还是双人,三人等...然后根据你可以做出决定。