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 : 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;
   }
}
Voilà, je ne comprend vraiment pas pourquoi ce code ne fonctionne pas.
Quelqu'un aurait une idée ?