0

ClickableCell を持つ CellTable があります。クリックすると、ポップアップが開き、クリックしたセル テーブルが期待どおりに表示されます。CellTable は AbsolutePanel(Parent) に追加されます。

一部の開発では、CellTable の上に別の AbsolutePanel(Over) が配置されます。

celltable で AbsolutePanel(Over) クリック イベントを伝播するにはどうすればよいですか?

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 がイベントを処理することはわかっています。

よろしく

4

1 に答える 1

0

私はあなたの質問を理解していなかったかもしれませんが、解決策はもっと簡単に思えます。

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

CellTable では、セルがクリックされたときに同じ doSomething() メソッドを呼び出します。これで、セルまたは絶対パネルのどちらがクリックされても、同じメソッドが実行されます。

于 2013-03-29T18:50:47.820 に答える