// var globales Tab monDessin; Color couleurFond; public void save(){ JFileChooser select = new JFileChooser(); if (select.showSaveDialog(null) == JFileChooser.APPROVE_OPTION){ File fichier; fichier = select.getSelectedFile(); try{ FileOutputStream fich=new FileOutputStream(fichier); ObjectOutputStream p = new ObjectOutputStream(fich); p.writeInt(monDessin.nbElements()); p.writeObject(couleurFond); for(monDessin.iterateur(); monDessin.encoreElements();) p.writeObject(monDessin.getSuivant()); p.flush(); p.close(); }catch (IOException e){ System.out.println(e); } } } public void load(){ JFileChooser select = new JFileChooser(); if (select.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){ File fichier; fichier = select.getSelectedFile(); try{ FileInputStream fich = new FileInputStream(fichier); ObjectInputStream p = new ObjectInputStream(fich); int nbFigures = p.readInt(); //nbFigures n'est pas utilise ici // juste pour montrer qu'on peut ecrire des int dans un flux d'objets couleurFond = (Color)p.readObject(); monDessin.effacer(); while(fich.available() != 0) monDessin.ajouter(p.readObject()); p.close(); repaint(); }catch (Exception e){ System.out.println(e); } } }