disons que j'ai un widget personnalisé qui a un ClickHandler. Voici l'exemple:GWT ajoutant un ClickHandler à un élément 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!");
}
}
Quand j'essaie d'ajouter ce widget comme ceci:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.get().add(testWidget);
tout va bien. Si je clique sur mon bouton, je reçois le message que j'attends. Cependant, si je l'ajoute comme ceci:
TestWidget testWidget = new TestWidget("myTestWidget");
RootPanel.getBodyElement().appendChild(testWidget.getElement());
mon événement click n'est pas Licenciement. Je me bats pour comprendre pourquoi. Ce serait bien si quelqu'un pouvait m'expliquer cela ou me lier à une ressource où je peux lire ceci. Enfin, je voudrais savoir s'il est possible d'ajouter le clickhandler après avoir ajouté l'événement enfant et si cela est recommandé. Merci d'avance pour de l'aide.
Kuku