Bonjour,
Je suis en train de travailler avec GWT et je souhaite créer ma propre DialogBox qui possèderait un bouton permettant de la fermer.
Pour cela, j'ai une classe :
Le problème est que lorsque je clique sur le bouton, aucune des actions du onClick ne sont effectuées. Si je met le bouton dans le conteneur lui même :
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 import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalPanel; public class CustomDialogBox extends DialogBox implements ClickHandler { Button close; HTML caption = new HTML(); HorizontalPanel captionPanel = new HorizontalPanel(); public CustomDialogBox() { close = new Button("x"); close.addClickHandler(this); captionPanel.add(caption); captionPanel.add(close); captionPanel.setStyleName("caption"); Element td = getCellElement(0, 1); // Get the cell element that holds the caption td.setInnerHTML(""); // Remove the old caption td.appendChild(captionPanel.getElement()); } @Override public void onClick(ClickEvent event) { CustomDialogBox.this.hide(); Window.alert("click"); } }
Dans ce cas, l'alert passe bien mais le .hide() soit ne s'effectue pas soit ne fonctionne pas dans mon cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public CustomDialogBox() { close = new Button("x"); close.addClickHandler(this); this.add(close); } @Override public void onClick(ClickEvent event) { CustomDialogBox.this.hide(); Window.alert("click"); }
Je souhaiterais savoir si quelqu'un sur ce forum aurait une idée de solution.
Merci d'avance.
Partager