IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GWT et Vaadin Java Discussion :

Probleme entre firefox et IE


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 56
    Par défaut Probleme entre firefox et IE
    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);
    	}
    }

  2. #2
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Le problème vient à mon avis du fait que tu ne met pas le panneau au même endroit.

    Tes panneaux PanelCreationMessage et PanelMessagesModeles une fois contruits sont ajoutés dans un VerticalPanel (hp) lui même ajouté dans ton PanelMessage.

    Jusque là, c'est ok.

    Mais ensuite, dans des listeners, tu enlève un de ces panneau de PanelMessage (il doit le trouver car il contient hp qui le contient) mais tu ajoute l'autre directement à la racine (dans PanelMessage et non dans hp) ...

    J'essaierai :
    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
     
    public class PanelMessage extends HorizontalPanel {
     
    	private Button creationMessage;
    	private Button messageModeles;
     
            protected VerticalPanel hp; // ---------- Référencer hp
    	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);
     
    	  	hp = new VerticalPanel();
    	  	hp.add( creationMessage);
    	  	hp.add( messageModeles);
     
    	    this.add(hp);
     
      	    creationMessage.addClickListener(new ClickListener() {
    			public void onClick(Widget sender) {						
                                    //---------- Enlever et mettre dans hp ------------
    				PanelMessage.this.hp.remove(panelMessageModeles);
    				PanelMessage.this.hp.add(panelCreationMessage);								
    			}
    		});
     
      	    messageModeles.addClickListener(new ClickListener() {
    			public void onClick(Widget sender) {						
                                    //---------- Enlever et mettre dans hp ------------
    				PanelMessage.this.hp.remove(panelCreationMessage);
    				PanelMessage.this.hp.add(panelMessageModeles);								
    			}	
    		});
    	}
     
    	public void afficheMessageModeleDansCreation (){
                    //---------- Enlever et mettre dans hp ------------
    		this.hp.remove(panelMessageModeles);
    		this.hp.add(panelCreationMessage);
    	}
    }
    Et dans PanelMessagesModeles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		btnModifier.addClickListener(new ClickListener() {
      			public void onClick(Widget sender) {
      				pcm.maj(messages[selectedRow]);		
      				// Virer cette ligne  PanelMessagesModeles.this.removeFromParent(); car tu l'enlèves dans la méthode qui suit 
      				message.afficheMessageModeleDansCreation();
      			}
     
      		});

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 56
    Par défaut
    Cela ne fonctionne pas mais mes panelMessageModele et PanelCreationMessage ne sont pas dans hp. hp contient les boutons et non les panels.
    Si quelqu'un a une explication je suis toujours preneur

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 56
    Par défaut
    Quelqu'un connait un équivalent de clear() que FFaccepterait?
    Et si quelqu'un comprendrait pourquoi mon passage de paramètres pour afficher les paramètres de mes message fonctionne sous IE et non sous FF

Discussions similaires

  1. probleme affichage entre firefox et explorer
    Par Abou Zar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 18/04/2012, 19h00
  2. [HTML] probleme de tableau entre firefox et IE
    Par Pe04 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 17/06/2009, 15h26
  3. Probleme entre IE et Firefox
    Par gus02 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/05/2008, 13h27
  4. Grand probleme de compatibilité entre Firefox et IE
    Par moonia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 02/06/2006, 10h36
  5. [AJAX] Différence ntre ie et firefox pour un script ajax
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/03/2006, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo