Le clic sur un objet HTML ne fonctionne pas
Bonjour à tous,
Je vous explique le topo. J'aimerais que lorsqu'on clique sur un objet HTML (un texte), une DialogBox s'affiche, malheureusement, pour l'instant, cela ne fonctionne pas. Je clique sur mon texte mais pas de PopUp en vue ! :?
Voici ce que j'ai fais dans ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
public class XXX extends VerticalPanel implements ClickHandler {
// Attributs
private HTML texte = new HTML();
// Constructeur
public XXX() {
// Associe des mots au texte
texte.setHTML("<a href=\"javascript:undefined;\">" + "Afficher PopUP" + "</a>");
// Ajoute l'abonnement
texte.addClickHandler(this); // this est donc le verticalPanel
}
public void onClick() {
// Crée une PopUp
final DialogBox popUp = construirePopUp();
popUp.setGlassEnabled(true);
popUp.setAnimationEnabled(true);
popUp.center();
popUp.show();
}
private DialogBox construirePopUp() {
final DialogBox popUp = new DialogBox(false, false);
popUp.ensureDebugId("popUp");
popUp.setTitle("Veuillez choisir un element de la liste :");
// Crée un panel vertical pour la liste des éléments
VerticalPanel panel = new VerticalPanel();
panel.setSpacing(4);
popUp.setWidget(panel);
// Ajoute la liste des éléments
HTML element = null;
for (int i = 1; i < 5; i++) {
element = new HTML("Element" + i);
panel.setCellHorizontalAlignment(element,
HasHorizontalAlignment.ALIGN_CENTER);
}
// Ajoute un bouton pour fermer la PopUp
Button boutonFermer = new Button("Fermer", new ClickHandler() {
public void onClick(ClickEvent event) {
popUp.hide();
}
});
panel.add(boutonFermer);
panel.setCellHorizontalAlignment(boutonFermer,
HasHorizontalAlignment.ALIGN_RIGHT);
// Retourne la PopUp
return popUp;
}
} |
Voilà, je ne comprend vraiment pas pourquoi ce code ne fonctionne pas.
Quelqu'un aurait une idée ?