GWT通过AbsolutePanel传播事件

时间:2013-03-29 15:46:38

标签: events gwt celltable

我有一个带有ClickableCell的CellTable。当我点击它时,会打开一个弹出窗口并显示所单击的单元格表格。 CellTable添加在AbsolutePanel(Parent)中。

对于某些开发,另一个AbsolutePanel(Over)位于CellTable上。

如何在celltable上传播AbsolutePanel(Over)click事件?

我在AbsolutePanelHandler(Over)上有一个处理程序并触发了点击的事件:

absolutePanelOver.addDomHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            NativeEvent nativeEvent = Document.get().createClickEvent(0, -event.getScreenX(), event.getScreenY(), 
                    event.getClientX(), event.getClientY(), event.isControlKeyDown(), event.isAltKeyDown(), 
                    event.isShiftKeyDown(), event.isMetaKeyDown());
            DomEvent.fireNativeEvent(nativeEvent, cellTable);
        }

    }, ClickEvent.getType());

不幸的是弹出单元格表没有显示。但我知道cellTable处理事件。

此致

1 个答案:

答案 0 :(得分:0)

也许我不明白你的问题,但解决方案似乎要简单得多。

absolutePanelOver.addDomHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
        doSomething();
    }
}, ClickEvent.getType());

在单元格中,单击单元格时调用相同的doSomething()方法。现在单击单元格还是绝对面板无关紧要 - 将执行相同的方法。