Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionpublic class Serializer { private static final Serializer instance = new Serializer(); private final String chemin = "puissance4.txt"; private Object taux; private Serializer() { super(); } public void serialiser(ArrayList ihm){ FileOutputStream fichier=null; ObjectOutputStream objet=null; try { fichier = new FileOutputStream(chemin); objet = new ObjectOutputStream(fichier); objet.writeObject(taux); objet.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if(objet!=null){ objet.close(); } if(fichier!=null){ fichier.close(); } } catch (IOException e) { e.printStackTrace(); } } } public ArrayList deserialiser(){ ArrayList res = null; try { FileInputStream fichier = new FileInputStream(chemin); ObjectInputStream object = new ObjectInputStream(fichier); res = (ArrayList) object.readObject(); } catch (java.io.IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } return res; } public static Serializer getInstance() { return instance; } }
public IHM(String titre,int x, int y, int largeur, int hauteur,Joueur j){ // Titre, position de la fenêtre et taille préférée de la fenêtre setTitle(titre); setLocation(new Point(x,y)); setPreferredSize(new Dimension(largeur,hauteur)); // Initialisation de la barre des menus menuBar = new JMenuBar(); // Initialisation du menu menu = new JMenu("Jeu"); couleur = new JMenu("Couleur"); // Initialisation des items du menu commencer = new JMenuItem("Commencer un nouveau jeu"); enregistrer = new JMenuItem("Enregistrer"); recharger = new JMenuItem("Recharger une partie"); quitter = new JMenuItem("Quitter"); changerCouleur = new JMenuItem("Changer de couleur"); // Ajout des items this.menu.add(commencer); this.menu.add(enregistrer); this.menu.add(recharger); this.menu.add(quitter); this.couleur.add(changerCouleur); // Permet de quitter l'application quitter.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ JOptionPane jop = new JOptionPane(); int option = jop.showConfirmDialog(null,"Etes-vous sûr de vouloir arrêter ? ", "Arrêt du jeu", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(option == JOptionPane.YES_OPTION) System.exit(0); } // fin actionPerformed }); // fin ActionListener // Permet de commencer une nouvelle partie commencer.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ Joueur j = new Joueur(); j.Joueur1.setText(joueur.j1); j.Joueur2.setText(joueur.j2); j.setVisible(true); setVisible(false); } // fin actionPerformed }); // fin ActionListener // Permet d'enregistrer le jeu enregistrer.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ JOptionPane jop = new JOptionPane(); int option = jop.showConfirmDialog(null,"Etes-vous sûr de vouloir sauvegarder ? ", "Sauvegarde du jeu", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(option == JOptionPane.YES_OPTION){ ArrayList ihm = new ArrayList(); Serializer.getInstance().serialiser(ihm); int reponse = JOptionPane.showConfirmDialog(null, "Voulez-vous continuer la partie?", "Mastermind", JOptionPane.YES_NO_OPTION); if(reponse == 1) { Joueur j = new Joueur(); j.Joueur1.setText(joueur.j1); j.Joueur2.setText(joueur.j2); j.setVisible(true); setVisible(false); } } } // fin actionPerformed }); // fin ActionListener // Permet de recharger le jeu recharger.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ JOptionPane jop = new JOptionPane(); int option = jop.showConfirmDialog(null,"Etes-vous sûr de vouloir charger une partie ? ", "Chargement du jeu", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(option == JOptionPane.YES_OPTION){ ArrayList ihm = Serializer.getInstance().deserialiser(); } } // fin actionPerformed }); // fin ActionListener // Permet de changer de couleur changerCouleur.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ JOptionPane jop = new JOptionPane(); int option = jop.showConfirmDialog(null,"Etes-vous sûr de vouloir changer de couleur ? ", "Changer de couleur", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE); if(option == JOptionPane.YES_OPTION){ couleur c = new couleur(); } } // fin actionPerformed }); // fin ActionListener // Ajout de la barre des menus this.menuBar.add(menu); this.menuBar.add(couleur); this.setJMenuBar(menuBar); this.joueur = j; // Le joueur courant est tiré aléatoirement for (int i = 0; i<2 ; i++) { joueurEnCours = (int)(Math.random() * 2); } // fin for //instanciation du JPanel général this.jeu=new JPanel(new GridLayout(1,7)); //instanciation du tableau de 'colonne' this.p=new Plateau[7]; //pour toutes les colonnes du puissance 4 for (int i=0;i<7;i++){ //on crée un nouvel objet colonne this.p[i]=new Plateau(this); //et on récupère le JPanel correspondant qu'on ajoute dans 'tout' (this.jeu).add((this.p[i]).renvoyerPlateau()); } // fin for //Création d'une instance de vérification verif=new verification(this.p); if(joueurEnCours==0) nomJ = new JLabel(tour + joueur.j1); else if(joueurEnCours==1) nomJ = new JLabel(tour+ joueur.j2); JPanel pan=new JPanel(); pan.add(nomJ); getContentPane().add(pan,BorderLayout.SOUTH); //ajout dans la JFrame principale this.getContentPane().add(this.jeu,BorderLayout.CENTER); // Bloquer redimension de l'image this.setResizable(false); pack(); this.setDefaultCloseOperation(EXIT_ON_CLOSE); }
public class Serializer { private static final Serializer instance = new Serializer(); private final String chemin = "puissance4.txt"; private Object IHM; IHM i; private Serializer() { super(); } public void serialiser(ArrayList ihm){ FileOutputStream fichier=null; ObjectOutputStream objet=null; try { fichier = new FileOutputStream(chemin); objet = new ObjectOutputStream(fichier); objet.writeObject(IHM); objet.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if(objet!=null){ objet.close(); } if(fichier!=null){ fichier.close(); } } catch (IOException e) { e.printStackTrace(); } } } public ArrayList deserialiser(){ ArrayList res = null; try { FileInputStream fichier = new FileInputStream(chemin); ObjectInputStream object = new ObjectInputStream(fichier); res = (ArrayList) object.readObject(); } catch (java.io.IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } i.setVisible(true); return res; } public static Serializer getInstance() { return instance; } }
FIle file = new File("puissance4.txt"); try { FileWriter writer = new FileWriter(file); writer.write(tour); writer.write(joueurEnCours); writer.write(joueur.j1); writer.write(joueur.j2); writer.close(); } catch (IOException ex) {Logger.getLogger(Serializer.class.getName()).log(Level.SEVERE, null, ex); }
public void sauvegarder(String s) throws FileNotFoundException, IOException { try{ ObjectOutputStream save = new ObjectOutputStream(new FileOutputStream(s)); save.writeObject(this); save.close(); } catch (IOException e){ e.printStackTrace(); System.out.println("Impossible de sauvegarder"); } catch (Exception e){ e.printStackTrace(); } } public static IHM charger(String s) throws IOException{ Object obj = null; try{ ObjectInputStream load = new ObjectInputStream(new FileInputStream(s)); obj = load.readObject(); load.close(); System.out.println(obj); }catch(IOException e){ e.printStackTrace(); System.out.println("Impossible de charger"); } catch(Exception e){ e.printStackTrace(); } return (IHM)obj; }