Login Register






Thread Rating:
  • 0 Vote(s) - 0 Average


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: 1 Guest(s)