Bonjour

Je suis confronté à un bug sur IE8 que je n'arrive pas à résoudre de façon simple. J'ai un label dans un panel, je veux au doubleclic sur cet élément changer le contenu de la page :
- sur firefox, ie6 (he oui...) tout ba bien
- sur ie8, je me retrouve avec tout le nouveau contenu du panel sélectionné

Exemple de code :

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
 
public class PageTest extends Composite {
	SimplePanel sp = new SimplePanel();
	Label lbl = new Label("label");
	DoubleClickHandler dch = new DoubleClickHandler() {
 
		@Override
		public void onDoubleClick(DoubleClickEvent event) {
			sp.remove(lbl);
			Grid gd = new Grid(20, 20);
			for (int i = 0 ; i < 20 ; i++)
				for (int j = 0 ; j < 20 ; j ++)
					gd.setText(i, j, "dest"+i+"-"+j);
			sp.setWidget(gd);
		}
	};
	public PageTest() {
		lbl.addDoubleClickHandler(dch);
		sp.add(lbl);
		initWidget(sp);
	}
}
Pour l'instant la seule solution que j'ai trouvé est de mettre mon label dans un VerticalPanel, puis d'ajouter le nouveau contenu avant d'enlever l'ancien...

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
 
public class PageTest extends Composite {
	VerticalPanel vertPanel = new VerticalPanel();
	Label lbl = new Label("label");
	DoubleClickHandler dch = new DoubleClickHandler() {
 
		@Override
		public void onDoubleClick(DoubleClickEvent event) {
 
			Grid gd = new Grid(20, 20);
			for (int i = 0 ; i < 20 ; i++)
				for (int j = 0 ; j < 20 ; j ++)
					gd.setText(i, j, "dest"+i+"-"+j);
			vertPanel.add(gd);
			vertPanel.remove(lbl);
		}
	};
	public PageTest() {
		lbl.addDoubleClickHandler(dch);
		vertPanel.add(lbl);
		initWidget(vertPanel);
	}
}
Connaissez vous ce bug? Un moyen de le résoudre? Peut on interdir la sélection de l'élément d'origine/forcer la déselection par exemple?

Merci d'avance!

Apostroff