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 :
Voilà, je ne comprend vraiment pas pourquoi ce code ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; } }
Quelqu'un aurait une idée ?
Partager