by implementing HasClickHandlers
import com.google.gwt.event.dom.client.ClickEvent;import com.google.gwt.event.dom.client.ClickHandler;import com.google.gwt.event.dom.client.HasClickHandlers;import com.google.gwt.event.shared.HandlerRegistration;import com.google.gwt.user.client.ui.Composite;import com.google.gwt.user.client.ui.HTML;import com.google.gwt.user.client.ui.HorizontalPanel;import com.google.gwt.user.client.ui.Label;public class IconWithText extends Composite implements StyleConstants, HasClickHandlers{HorizontalPanel widget;public IconWithText(String iconStyleName, String text){widget = new HorizontalPanel();widget.setStyleName(STYLE_WIDGET);HTML icon = new HTML("");icon.setStyleName(iconStyleName);widget.add(icon);Label label = new Label(text);label.setStyleName("label_for_icon");widget.add(label);initWidget(widget);}public HandlerRegistration addClickHandler(ClickHandler handler){return addDomHandler(handler, ClickEvent.getType());}}