@Override
    public void update(Observable o, Object arg) {
        
        switch (arg.toString()) {
            
            case "reinitialiser":
                this.initialisation();
                this.labelInstructionsJoueur.setText("Vous pouvez déplacer vos bateaux sur la grille de droite.");
                this.labelInstructionsAdversaire.setText("Cliquez sur 'Jouer !' pour commencer la partie.");
                this.updatePorteeManuel();
                break;
                
            case "focus":
                this.requestFocus();
                break;
            
            case "messageJ1":
                this.labelInstructionsJoueur.setText(this._partie.getMessage());
                break;
                
            case "messageJ2":
                this.labelInstructionsAdversaire.setText(this._partie.getMessage());
                break;
               
            case "tir":
                this.miseAJourEtatsBateaux();
                this.labelTirsReussis.setText(this._partie.getJ1().getNbTirsGagnant() + "");
                this.labelTirsRates.setText(this._partie.getJ1().getNbTirsPerdant() + "");
                // On empeche les eventuels bateaux coules de tirer si l'utilisateur
                // en a fait le choix
                if(this._partie.getParametre().isMajPortee()) {
                    this.updatePortee();
                }
                break;
                
            case "resultat":
                this.titrePopupVictoire.setText("Résultats");
                this.sousTitrePopupVictoire.setText(this._partie.getMessageFinPartie());
                this.popupVictoire.setLocationRelativeTo(null);
                this.popupVictoire.setVisible(true);
                this.setEnabled(false);
                break;
                
        }
        
    } // update(Observable o, Object arg)