我的自定义 FlowPanel
中有一个 Label
,它实现了 HasDoubleClickHandlers
。
final Label label = new Label("Click here to write");
label.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
clicked();
}
});
final CustomFlowPanel customFlowPanel=new CustomFlowPanel();
customFlowPanel.addDoubleClickHandler(new DoubleClickHandler() {
@Override
public void onDoubleClick(DoubleClickEvent event) {
if (event.getSource() instanceof FlowPanel) {
doubleClicked();
}
}
});
custoFlowPanel.add(label);
问题是当我双击标签时 doubleClicked()
不应执行。
如何防止双击标签时执行doubleClicked()
?
提前致谢!!!
最佳答案
您可以只检查 DoubleClickEvent 是否单击了标签,如果没有单击,则调用 doubleClicked()。
customFlowPanel.addDoubleClickHandler(new DoubleClickHandler() {
@Override
public void onDoubleClick(DoubleClickEvent event) {
Element clicked = event.getNativeEvent();
if (!clicked.Equals(label.getElement())
{
doubleClicked();
}
}
});
关于java - 如何在 GWT 中设置事件边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516862/