Je doit éditer des message qui sont stockés dans ma base de donnée sur le shell de gwt tout marche bien mais lorsque je compile sous firefox je n'ai plus aucun affichage au moment du transfert entre les deux panel et sous IE le contenu de mon panel est doublé. Auriez vous une explication?
La classe ou il y a les panel qui doivent echanger lorsque je clique sur btnModifier de la classe suivante
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
 
package com.gwt.client.Panel;
 
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
 
public class PanelMessage extends HorizontalPanel {
 
	private Button creationMessage;
	private Button messageModeles;
 
	private PanelCreationMessage panelCreationMessage;
	private PanelMessagesModeles panelMessageModeles;
 
	public PanelMessage () {
 
		creationMessage = new Button("Message");
	  	messageModeles = new Button("Message Modèles");
 
	  	panelCreationMessage = new PanelCreationMessage();
	  	panelMessageModeles = new PanelMessagesModeles (this, panelCreationMessage);
 
	  	creationMessage.setPixelSize(150, 25);
	  	messageModeles.setPixelSize(150, 25);
 
	  	VerticalPanel hp = new VerticalPanel();
	  	hp.add( creationMessage);
	  	hp.add( messageModeles);
 
	    this.add(hp);
 
  	    creationMessage.addClickListener(new ClickListener() {
			public void onClick(Widget sender) {						
				PanelMessage.this.remove(panelMessageModeles);
				PanelMessage.this.add(panelCreationMessage);								
			}
		});
 
  	    messageModeles.addClickListener(new ClickListener() {
			public void onClick(Widget sender) {						
				PanelMessage.this.remove(panelCreationMessage);
				PanelMessage.this.add(panelMessageModeles);								
			}	
		});
	}
 
	public void afficheMessageModeleDansCreation (){
		this.remove(panelMessageModeles);
		this.add(panelCreationMessage);
	}
}

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
 
package com.gwt.client.Panel;
 
import com.google.gwt.user.client.HTTPRequest;
import com.google.gwt.user.client.ResponseTextHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.SourcesTableEvents;
import com.google.gwt.user.client.ui.TableListener;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwt.client.Administrateur;
import com.gwt.client.BDD.RetourBDD;
import com.gwt.client.Message.Message;
import com.gwt.client.Utilisateur.Utilisateur;
import com.gwt.client.dialogueBox.FenetreModifier;
import com.gwt.client.dialogueBox.FenetreSupprimer;
 
public class PanelMessagesModeles extends VerticalPanel {
 
	private FlexTable t = new FlexTable();
	public static PanelMessagesModeles instance;
	public String reponsePhp;
	public String reponsePhp2;
	public RetourBDD str;
	private int selectedRow;
	private Message[] messages;
	private int nombreMessages;
	private int longueurTotale;
	private Button btnModifier;
	private Button btnAfficher;
	private HorizontalPanel panelBoutons;
 
	public PanelMessagesModeles(final PanelMessage message, final PanelCreationMessage pcm ) {
 
		/* Url de destination */
		String url = "http://127.0.0.1/getAllMessages.php";
 
		boolean good = HTTPRequest.asyncGet(url , new ResponseTextHandler(){
			public void onCompletion(String responseText) {
 
				/* Récuperation de la reponse dans reponsePhp */
				reponsePhp = responseText;
 
				/* Création des 7 colonnes de la flextable */  
				t.setTitle("Message(s) modeles");
			    t.setText(0, 0,"Message");
			    t.setWidth("100%");
			    t.setCellSpacing(2);
 
			    /* Utilisation du css sur la ligne des titres du tableau */
			    t.getCellFormatter().addStyleName(0, 0, "ajout-panelAjout");
 
 
			    /* Création d'un objet RetourBDD avec le retour du HttpRequest */ 
			    str = new RetourBDD(reponsePhp, ";");
 
			    /* Calcul des longueur totale et le nombre de champs de la chaine */
			    longueurTotale = reponsePhp.length();
				nombreMessages = (str.compteChamps(longueurTotale)-1)/72;
 
				/* Création d'un tableau d'utilisateur */
			    messages = new Message[nombreMessages+1];
 
			    /* Appel de la méthode getAllUtilisateurs pour remplir le tableau d'utilisateur */
			    messages = Message.getAllMessages(nombreMessages,longueurTotale, reponsePhp);
 
				/* Appel de la methode addUtilisateurs pour ajouter les utilisateurs dans le tableau */
				for (int i = 0; i <= nombreMessages; i++)
				   	addMessage(messages[i],i+1);
 
				/* Listenner pour pouvoir cliquer sur une ligne du tableau */
			    t.addTableListener(new TableListener(){
			    	public void onCellClicked(SourcesTableEvents sender, int row, int cell) {
				    	/* Selection de la ligne cliquée avec -1 pour la ligne de titre */
			    		if (row > 0) {
				    		selectRow(row - 1);
				    	}
				    }
			    }); 
			}
		});
		btnModifier = new Button ("Modifier");
		btnAfficher = new Button ("Supprimer");
 
		btnModifier.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {
  				pcm.maj(messages[selectedRow]);		
  				PanelMessagesModeles.this.removeFromParent();
  				message.afficheMessageModeleDansCreation();
  			}
 
  		});
 
		btnAfficher.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {			
  				//FenetreSupprimer fenMod = new FenetreSupprimer(PanelUtilisateur.this, utilisateurs[selectedRow], selectedRow);
  				//fenMod.show();
  				//fenMod.center(); 				
  			}
 
  		});
 
		panelBoutons = new HorizontalPanel();
 
		panelBoutons.add(btnModifier);
		panelBoutons.add(btnAfficher);
 
		this.add(t);
		this.add(panelBoutons);
		this.setWidth("75%");
 
	    instance=this;
 
	}
 
	private void selectRow(int row) {
		styleRow(selectedRow, false);
		styleRow(row, true);
		selectedRow = row;
	}
 
	private void styleRow(int row, boolean selected) {
		/* Uilisation du css pour colorer la ligne selectionnée ou retirer la couleur quand elle est deselectionnée */
		if (row != -1) {
			if (selected) {
				t.getRowFormatter().addStyleName(row + 1, "ligneSelectionnee");
			} else {
				t.getRowFormatter().removeStyleName(row + 1, "ligneSelectionnee");
			}
		}
 
	} 
 
 
	private void addMessage(Message message,int i) {
	    /* Pour chaque ligne appel des methodes pour avoir les nom , ... puis les ajouter dans le tableau */
		t.setText(i, 0,message.getTextePage(1,1));
 
 
	    /* Utilisation du css pour changer la couleur 1 ligne sur 2  */
	    for (int j = 0; j < 1; j++) {
	    	if(i%2==0)
	    		t.getCellFormatter().addStyleName(i, j, "tableauLigne1");
	    	else
	    		t.getCellFormatter().addStyleName(i, j, "tableauLigne2");	
		}
	}
 
}
Le résultat doit s'afficher sur ce panel
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
package com.gwt.client.Panel;
 
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwt.client.Message.Message;
 
public class PanelCreationMessage extends VerticalPanel {
 
	private PanelMessagePage p1;
	private PanelMessagePage p2;
	private PanelMessagePage p3;
	private PanelMessagePage p4;
	private Button changePageSup = new Button ("Suivante");
	private Button changePageInf = new Button ("Precedente");
	private AbsolutePanel posContainer = new AbsolutePanel();
 
	public PanelCreationMessage(){
 
		p1 = new PanelMessagePage("1");
		p2 = new PanelMessagePage("2");
		p3 = new PanelMessagePage("3");
		p4 = new PanelMessagePage("4");
 
		posContainer.add(p1);
 
		changePageSup.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {
  				if ( p1.isAttached() ){
  					posContainer.remove(p1);
  					posContainer.add(p2);
  				}else{
  					if ( p2.isAttached()){
  						posContainer.remove(p2);
  	  					posContainer.add(p3);
  					}else{
	  					if ( p3.isAttached()){
	  						posContainer.remove(p3);
	  	  					posContainer.add(p4);
	  					}else{
	  						Window.alert("4 pages maximum");
	  					}
  					}
  				}
  			} 		
  		});
 
		changePageInf.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {
  				if ( p4.isAttached() ){
  					posContainer.remove(p4);
  					posContainer.add(p3);
  				}else{
  					if ( p3.isAttached()){
  						posContainer.remove(p3);
  	  					posContainer.add(p2);
  					}else{
	  					if ( p2.isAttached()){
	  						posContainer.remove(p2);
	  	  					posContainer.add(p1);
	  					}else{
	  						Window.alert("1ere page!!");
	  					}
  					}
  				}
  			} 		
  		});
 
		this.add(posContainer);
		HorizontalPanel hp = new HorizontalPanel();
		hp.add(changePageInf);
		hp.add(changePageSup);
		this.add(hp);
	}
 
	public void maj( Message message){
 
		//posContainer.clear();
 
		p1 = new PanelMessagePage("1", 1, message);
		p2 = new PanelMessagePage("2", 2, message);
		p3 = new PanelMessagePage("3", 3, message);
		p4 = new PanelMessagePage("4", 4, message);
 
		posContainer.add(p1);
 
		changePageSup.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {
  				if ( p1.isAttached() ){
  					posContainer.remove(p1);
  					posContainer.add(p2);
  				}else{
  					if ( p2.isAttached()){
  						posContainer.remove(p2);
  	  					posContainer.add(p3);
  					}else{
	  					if ( p3.isAttached()){
	  						posContainer.remove(p3);
	  	  					posContainer.add(p4);
	  					}else{
	  						Window.alert("4 pages maximum");
	  					}
  					}
  				}
  			} 		
  		});
 
		changePageInf.addClickListener(new ClickListener() {
  			public void onClick(Widget sender) {
  				if ( p4.isAttached() ){
  					posContainer.remove(p4);
  					posContainer.add(p3);
  				}else{
  					if ( p3.isAttached()){
  						posContainer.remove(p3);
  	  					posContainer.add(p2);
  					}else{
	  					if ( p2.isAttached()){
	  						posContainer.remove(p2);
	  	  					posContainer.add(p1);
	  					}else{
	  						Window.alert("1ere page!!");
	  					}
  					}
  				}
  			} 		
  		});
 
		this.add(posContainer);
		HorizontalPanel hp = new HorizontalPanel();
		hp.add(changePageInf);
		hp.add(changePageSup);
		this.add(hp);
	}
}