Fonction save

Résolu
bonjour,

j'essaie d'implementer la fonction showSaveDialog pour pouvoir sauvegarder des données mais bien que la fenetre apparaisse, apres avoir cliqué sur "save" le fichier n'est pas sauvegardé. Voici le code:
if (e.getSource() == olView.getGUI().getSave()) {
   if(running){
    oceanAnimator = new Thread(this, "oceanAnimator");
    running = false;
   }
   try{
    
    JFileChooser chooser  = new JFileChooser();
          chooser.showSaveDialog(Frame3);
             int option = chooser.showSaveDialog(Frame3);
             if(option == JFileChooser.APPROVE_OPTION) {
               if(option == JFileChooser.CANCEL_OPTION) {
    OutputStream ostream = new FileOutputStream(FILEPATH);
    OutputStream buffer = new BufferedOutputStream(ostream);
    ObjectOutput output = new ObjectOutputStream(buffer);
    output.writeObject(olModel.getOcean());
    output.close();
    System.out.println("ocean file saved!"); 
   }
    }
   }
   
   catch(IOException ioex){System.out.println("Couldn't save ocean file!");}
  }


merci d'avance

1 réponse

  1. Modérateur
    Bonjour,

    Tu ne peux pas avoir ces deux conditions vérifiées en même temps :

    if(option == JFileChooser.APPROVE_OPTION) {
        if(option == JFileChooser.CANCEL_OPTION) {

    En conséquence tu ne rentres jamais dans le code d'enregistrement.

    Dans ton cas, je pense que c'est la deuxième condition qu'il faut supprimer.
    1
    1. la fenetre d'enregistrement apparait mais lorsque je met un nom de fichier pour la sauvegarde et ensuite je valide, il n'est pas reellement sauvegardé.Probleme de format?
      0
    2. Modérateur
      Non, lis ma réponse.
      0