digamos que tengo un widget personalizado que tiene un ClickHandler. Aquí está el ejemplo:GWT agregando un ClickHandler a un elemento DOM
public class TestWidget extends Composite {
private static TestWidgetUiBinder uiBinder = GWT
.create(TestWidgetUiBinder.class);
interface TestWidgetUiBinder extends UiBinder<Widget, TestWidget> {
}
@UiField
Button button;
public TestWidget(String firstName) {
initWidget(uiBinder.createAndBindUi(this));
button.setText(firstName);
}
@UiHandler("button")
void onClick(ClickEvent e) {
Window.alert("Hello!");
}
}
Cuando trato de añadir este widget de la siguiente manera:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.get().add(testWidget);
todo está bien. Si hago clic en mi botón, obtengo el mensaje que espero. Sin embargo, si lo añado la siguiente manera:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.getBodyElement().appendChild(testWidget.getElement());
mi evento de clic no está siendo despedido. Estoy luchando por entender por qué. Sería bueno si alguien pudiera explicarme esto o vincularme a un recurso donde pueda leer esto. Finalmente, me gustaría saber si es posible agregar el manejador de clics luego anexé el evento secundario y si se recomienda hacerlo. Gracias, avance por ayuda.
kuku