Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
993 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Probleme de sérialisation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de sérialisation

n°908008
blueman_82
Posté le 25-11-2004 à 21:40:42  profilanswer
 

Bonjour :-)
voila j'essaie dans le cadre d'un projet pour mon bahut (editeur graphique) et sérialiser des objets de mon applis pour pouvoir les sauver et les récupérer plus tard.
quand j'essaie j'ai l'erreur java.io.NotSerializableException: java.awt.BasicStroke :-(
vous savez comment résoudre ce probleme ?
 
 

Code :
  1. package egraphics;
  2. import java.util.*;
  3. import java.io.Serializable;
  4. import java.awt.*;
  5. import java.util.regex.*;
  6. /**
  7. * class qui contient tout les elements à dessiner
  8. * @version 0.1
  9. */
  10. class Draw implements Serializable,Constant{
  11.     /**
  12.      *nombre de dessin
  13.      */
  14.    
  15.     static int nbDraw=0;
  16.     int nbShape=0;
  17.     /**
  18.      *vecteur contenant les formes
  19.      */
  20.    
  21.     Vector shapeList = null;
  22.     /**
  23.      * La fenetre principale
  24.      */
  25.     MainWindow main;
  26.    
  27.     /**
  28.      * Creates a new instance of Draw
  29.      * @param m la fenetre principal
  30.      */
  31.     Draw(MainWindow m) {
  32.         main = m;
  33.         shapeList = new Vector();
  34.        
  35.        
  36.     }
  37.     void addRect(MyRectangle rr){
  38.         shapeList.add(rr);
  39.         nbShape++;
  40.     }
  41.     void addEllipse(MyEllipse ee){
  42.         shapeList.add(ee);
  43.         nbShape++;
  44.     }
  45.     void addTrait(MyTrait tt){
  46.         shapeList.add(tt);
  47.         nbShape++;
  48.     }
  49.     void addText(MyText ttt){
  50.         shapeList.add(ttt);
  51.         nbShape++;
  52.     }
  53.    
  54.     /**
  55.      * ajoute un element à la liste
  56.      * @param p1 point en haute à droite de la figure
  57.      */
  58.     void addShape(Vector v,Point p1,Point p2,int h,int w){
  59.         int i;
  60.         i = main.t.getDrawType();
  61.        
  62.         switch(i){
  63.             case RECT :
  64.                
  65.                
  66.                 //on affecte le style courant
  67.                
  68.                 shapeList.add(new MyRectangle(v,p1,p2,h,w));
  69.                
  70.                 break;
  71.             case OVAL :
  72.                 //creation d'une ellipse
  73.                 shapeList.add("Ellipse" );
  74.                 break;
  75.             case TRAI :
  76.                 //creation d'un trait
  77.                 shapeList.add("Trait" );
  78.                 break;
  79.             case TEXT :
  80.                 //creation d'un text
  81.                 shapeList.add("Text" );
  82.                 break;
  83.         }
  84.        
  85.         nbShape++;
  86.     }
  87.     /**
  88.      * Supprime un element de la liste des formes
  89.      * @param i le numero dans la liste à enlever
  90.      */
  91.     void delShape(int i){
  92.        
  93.     }
  94.     /**
  95.      * dessine les formes de vector
  96.      * @param g graphique envoyé par la methode paintElement de MonCanvas
  97.      */
  98.     void drawShape(Graphics g){
  99.         String nom;
  100.        
  101.         int i=0;
  102.         MyRectangle rrr = new MyRectangle();
  103.         MyEllipse eee = new MyEllipse();
  104.         MyTrait ttt = new MyTrait();
  105.         MyText tt = new MyText();
  106.         Object o = new Object();
  107.         for(i=0;i<shapeList.size();i++){
  108.             o = shapeList.get(i);
  109.             nom = o.getClass().getName();
  110.            
  111.             if(search("MyRectangle",nom)){
  112.                 rrr = (MyRectangle) shapeList.get(i);
  113.                 rrr.iPaint(g);
  114.             }
  115.            
  116.             if(search("MyEllipse",nom)){
  117.                 eee = (MyEllipse) shapeList.get(i);
  118.                 eee.iPaint(g);
  119.             }
  120.             if(search("MyTrait",nom)){
  121.                 ttt = (MyTrait) shapeList.get(i);
  122.                 ttt.iPaint(g);
  123.                 ttt.Myinfo(i);
  124.                 System.out.println();
  125.             }
  126.              if(search("MyText",nom)){
  127.                 tt = (MyText) shapeList.get(i);
  128.                 tt.iPaint(g);
  129.                 //tt.Myinfo(i);
  130.                 System.out.println();
  131.             }
  132.             //System.out.println();
  133.             /*rrr = (MyRectangle) shapeList.get(i);
  134.             rrr.iPaint(g);
  135.             rrr.Myinfo(i); System.out.println("element "+i);*/
  136.         }
  137.      
  138.     }
  139.    
  140.     boolean search(String pp,String mm) {
  141.         Pattern p = Pattern.compile(pp);
  142.         Matcher m = p.matcher(mm); // get a matcher object
  143.         int count = 0;
  144.         while(m.find()) {
  145.            
  146.             return true;
  147.         }
  148.         return false;
  149.        
  150.     }
  151.    
  152.    
  153. }

mood
Publicité
Posté le 25-11-2004 à 21:40:42  profilanswer
 

n°908018
the real m​oins moins
Posté le 25-11-2004 à 21:55:41  profilanswer
 

"java.io.NotSerializableException: java.awt.BasicStroke", c'est pas clair?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°908021
blueman_82
Posté le 25-11-2004 à 21:56:36  profilanswer
 

si mais y a pas un moyen de contourner ça ?

n°908022
the real m​oins moins
Posté le 25-11-2004 à 21:57:23  profilanswer
 

ben tu vires ton BasicStroke [:joce]
 
... si tu veux que certains champs de tes objets ne soient pas sérializés, tu les marque transient.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°908024
blueman_82
Posté le 25-11-2004 à 22:00:57  profilanswer
 

ha oui j'avais vu ça
du coup je l'ai mis partout devant mes BasicStrole mais ça marche toujours pas

n°908028
the real m​oins moins
Posté le 25-11-2004 à 22:03:39  profilanswer
 

blueman_82 a écrit :

ça marche pas

alors ça c'est de l'error report clair et précis, tiens.
 
colles-y 2 pattes, un moteur et une pile, ça marchera.


Message édité par the real moins moins le 25-11-2004 à 22:04:00

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°908032
blueman_82
Posté le 25-11-2004 à 22:07:41  profilanswer
 

lol oui je sais c'était pas tres pro comme rapport d'erreur loooool
en fait meme apres voir mis transient sur les BasicStroke ça me dis toujours qu'ils ne sont pas sérialisables

n°908036
the real m​oins moins
Posté le 25-11-2004 à 22:15:00  profilanswer
 

c'est que t'en as d'autres mieux cachés [:itm]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Probleme de sérialisation

 

Sujets relatifs
AccessXP problème de recordsetProbleme avec une classe que j'ai herité
probleme sur une programation vbaproblème lecture d'une valeur avec le caractere slach
Probleme erreur TomcatProblème de lecture hibernate.cfg.xml à cause dtd
probleme script perlprobleme de sérialisation
[java] probleme de serialisation[JAVA] Probleme d'evenements lié a la serialisation(enfin je pense)...
Plus de sujets relatifs à : Probleme de sérialisation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR