如何向GWT中的InputElement添加单击侦听器?

如何向GWT中的InputElement添加单击侦听器?,gwt,Gwt,我创建了以下复选框 import com.google.gwt.dom.client.InputElement; ... final InputElement bulkEditCheckbox = Document.get().createCheckInputElement(); 尝试了许多公式,但就是无法将其包装或添加侦听器。有什么建议吗 PS:尝试使用SimpleCheckBox.wrap()进行包装时出现以下错误: 这解决了我的问题: DOM.sinkEvents

我创建了以下复选框

    import com.google.gwt.dom.client.InputElement;
    ...
    final InputElement bulkEditCheckbox = Document.get().createCheckInputElement();
尝试了许多公式,但就是无法将其包装或添加侦听器。有什么建议吗

PS:尝试使用SimpleCheckBox.wrap()进行包装时出现以下错误:

这解决了我的问题:

DOM.sinkEvents(element, Event.ONCLICK);
DOM.setEventListener(element, new EventListener() {
    @Override
    public void onBrowserEvent(Event event) {
        if (Event.ONCLICK == event.getTypeInt()) {
            ...
        }
    }
});

如果您尝试将InputElement封装到一个小部件中,为什么需要创建InputElement?感谢您的回复,之前已经尝试过了,但是我的ClickHandler在这样做时根本不起作用(直接使用SimpleCheckBox)。我很高兴您找到了答案,但我觉得有一种更简单、更干净的方法来实现这一点。我完全同意,我被一些项目约束(旧GWT版本、旧EXT GWT版本和我们的定制框架)强迫使用这种低级方法。所有这些都为我提供了一个不太灵活的界面。。。再次感谢您的检查。只是一个简单的问题。你为什么需要这个。您可以使用gwt提供的复选框小部件。复选框上的单击处理程序等同于值更改处理程序,除非您有一些特别的要求
DOM.sinkEvents(element, Event.ONCLICK);
DOM.setEventListener(element, new EventListener() {
    @Override
    public void onBrowserEvent(Event event) {
        if (Event.ONCLICK == event.getTypeInt()) {
            ...
        }
    }
});