【发布时间】:2012-10-08 14:56:24
【问题描述】:
我正在尝试让 GWT CellTable 捕获 DoubleClickEvent 类型的事件,但是当在 UI 中单击一行时,CellTable 正确接收 ClickEvent 类型的事件,它看不到任何 @双击行时为 987654326@。
因此,如果我单击 UI 中的一行,则为 ClickEvent 声明的处理程序被正确触发,但如果我双击为DoubleClickEvent 声明的处理程序,则不会触发。
是我做错了什么还是CellTable 本身无法处理DoubleClickEvent?
在后一种情况下,什么是捕捉表格双击的好方法?
下面是我的 CellTable 声明代码:
CellTable<ServiceTypeUI> contentTable = new CellTable<ServiceTypeUI>(10, style);
contentTable.setSelectionModel(new SingleSelectionModel<ServiceTypeUI>());
contentTable.addHandler(new DoubleClickHandler() { // HANDLER NOT CORRECTLY TRIGGERED
@Override
@SuppressWarnings("unchecked")
public void onDoubleClick(DoubleClickEvent event) {
presenter.doubleClickHandler(event);
}
}, DoubleClickEvent.getType());
contentTable.addHandler(new ClickHandler() { // HANDLER CORRECTLY TRIGGERED
@Override
@SuppressWarnings("unchecked")
public void onClick(ClickEvent event) {
presenter.clickHandler(event);
}
}, ClickEvent.getType());
我还尝试删除 ClickEvent 处理程序声明和 SelectionModel 声明,以避免其中任何一个捕获 DoubleClickEvent 事件并将其视为 ClickEvent 但即使在这个案例。
CellTable<ServiceTypeUI> contentTable = new CellTable<ServiceTypeUI>(10, style);
contentTable.addHandler(new DoubleClickHandler() { // HANDLER NOT CORRECTLY TRIGGERED
@Override
@SuppressWarnings("unchecked")
public void onDoubleClick(DoubleClickEvent event) {
presenter.doubleClickHandler(event);
}
}, DoubleClickEvent.getType());
【问题讨论】:
-
这不是重复的,这个问题是关于单个单元格事件处理程序,而不是表处理程序。我在发布我的问题之前阅读了该内容。
标签: gwt double-click celltable