Login Register


deserializing an object filter_list
Author
Message
deserializing an object #1
Etudiant Class

Spoiler:
Code:
package projet; import java.io.Serializable; import java.util.ArrayList; public class Etudiant implements Serializable { private String nom; private String prenom; private String numeroDossier; private String password; private ArrayList<Resultat>resultat; public Etudiant(String nom,String prenom,String numeroDossier,String password,ArrayList<Resultat>resultat){ this.nom=nom; this.prenom=prenom; this.numeroDossier=numeroDossier; this.password=password; this.resultat=resultat; } public void setNom(String nom){ this.nom=nom; } public String getNom(){ return this.nom; } public void setPrenom(String prenom){ this.prenom=prenom; } public String getPrenom(){ return this.prenom; } public void setNumeroDossier(String numeroDossier){ this.numeroDossier=numeroDossier; } public String getNumeroDossier(){ return this.numeroDossier; } public void setPassword(String password){ this.password=password; } public String getPassword(){ return password; } public void setResultat(ArrayList<Resultat> resultat){ this.resultat=resultat; } public ArrayList<Resultat> getResultat(){ return this.resultat; } public void ajouterResultat(Resultat resultat){ this.resultat.add(resultat); } public String toString(){ return this.nom+this.numeroDossier+this.password+this.prenom+this.resultat; } }


Affichage resultat

Spoiler:
Code:
package projet; import java.awt.*; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.util.ArrayList; import javax.swing.*; import javax.swing.border.Border; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import static projet.Etudiant.*; public class AffichageResultatWindow { private JFrame affichageResultatFrame; private JLabel resultatEtudiantLabel; private JList domaineList; private JScrollPane scrollPane; private JButton noteDomaineAlfa,noteDomaineNote,noteMoyenneAlfa; private JPanel topPanel,leftPanel,rightPanel,botPanel; public AffichageResultatWindow() throws IOException, ClassNotFoundException{ domaineList=new JList(); scrollPane=new JScrollPane(domaineList); scrollPane.setPreferredSize(new Dimension(150, 150)); affichageResultatFrame=new JFrame("projetNFA035"); affichageResultatFrame.setSize(700,500); affichageResultatFrame.setLayout(new BorderLayout()); affichageResultatFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); resultatEtudiantLabel=new JLabel("Resultats des Etudiants"); resultatEtudiantLabel.setForeground(Color.blue); resultatEtudiantLabel.setFont(new Font("Arial",Font.BOLD,25)); topPanel=new JPanel(); topPanel.add(resultatEtudiantLabel); File file=new File(System.getProperty("user.dir")+"//Domaines"); if(file.listFiles().length==0){ scrollPane.setViewportView(domaineList); } else{ domaineList=new JList(file.list()); scrollPane.setViewportView(domaineList); } leftPanel=new JPanel(); leftPanel.setPreferredSize(new Dimension(150,150)); leftPanel.add(scrollPane); rightPanel=new JPanel(); rightPanel.setPreferredSize(new Dimension(500,250)); rightPanel.setBorder(BorderFactory.createLineBorder(Color.black)) ; noteDomaineAlfa=new JButton("Note par domaine/ordre alpha"); noteDomaineNote=new JButton("Note par domaine/ordre note"); noteMoyenneAlfa=new JButton("Note moyenne/ordre alpha"); botPanel=new JPanel(); botPanel.add(noteDomaineAlfa); botPanel.add(noteDomaineNote); botPanel.add(noteMoyenneAlfa); affichageResultatFrame.add(topPanel,BorderLayout.NORTH); affichageResultatFrame.add(rightPanel,BorderLayout.EAST); affichageResultatFrame.add(leftPanel,BorderLayout.WEST); affichageResultatFrame.add(botPanel,BorderLayout.SOUTH); affichageResultatFrame.setVisible(true); File dir=new File(System.getProperty("user.dir")+"//Etudiant//etudiant.txt"); FileInputStream fin = new FileInputStream(dir); ObjectInputStream ois = new ObjectInputStream(fin); ArrayList<Etudiant> domaineList = (ArrayList)ois.readObject(); System.out.println(domaineList.get(0).getPrenom()); } }


Main class

Spoiler:
Code:
package projet; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import static projet.Domaines.ajouterQcm; public class Projet { /** * @param args the command line arguments */ public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { boolean dir2 = new File(System.getProperty("user.dir")+"//Domaines").mkdir(); boolean dir3=new File(System.getProperty("user.dir")+"//Etudiant").mkdir(); //new AffichageResultatWindow(); //new CreationDomaineWindow(); // new CreerCompteEtudiantWindow(); new AdministrateurWindow(); //new GestionQcmWindow(); }}


i'm having this error message

Spoiler:
Code:
Jan 18, 2017 9:10:12 PM projet.AdministrateurWindow$4 actionPerformed SEVERE: null java.io.InvalidClassException: projet.Etudiant; local class incompatible: stream classdesc serialVersionUID = 2510513620002320279, local class serialVersionUID = -7685469652645975124 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at projet.AffichageResultatWindow.<init>(AffichageResultatWindow.java:74) at projet.AdministrateurWindow$4.actionPerformed(AdministrateurWindow.java:98) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Picked up _JAVA_OPTIONS: -Xmx256M


I checked on google it is said that i should create a private final static long serialVersionUID.
That didn't actually work,any idea how to fix this issue ?


Everyone should learn how to code, it teaches you how to think.

You don't have to be a Genius to know how to code you just need to be determined.

The computer is incredibly fast, accurate, and stupid; man is unbelievably slow, inaccurate, and brilliant; together they are powerful beyond imagination.

Reply







Users browsing this thread: