blueman_82 | 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 :
- package egraphics;
- import java.util.*;
- import java.io.Serializable;
- import java.awt.*;
- import java.util.regex.*;
- /**
- * class qui contient tout les elements à dessiner
- * @version 0.1
- */
- class Draw implements Serializable,Constant{
- /**
- *nombre de dessin
- */
-
- static int nbDraw=0;
- int nbShape=0;
- /**
- *vecteur contenant les formes
- */
-
- Vector shapeList = null;
- /**
- * La fenetre principale
- */
- MainWindow main;
-
- /**
- * Creates a new instance of Draw
- * @param m la fenetre principal
- */
- Draw(MainWindow m) {
- main = m;
- shapeList = new Vector();
-
-
- }
- void addRect(MyRectangle rr){
- shapeList.add(rr);
- nbShape++;
- }
- void addEllipse(MyEllipse ee){
- shapeList.add(ee);
- nbShape++;
- }
- void addTrait(MyTrait tt){
- shapeList.add(tt);
- nbShape++;
- }
- void addText(MyText ttt){
- shapeList.add(ttt);
- nbShape++;
- }
-
- /**
- * ajoute un element à la liste
- * @param p1 point en haute à droite de la figure
- */
- void addShape(Vector v,Point p1,Point p2,int h,int w){
- int i;
- i = main.t.getDrawType();
-
- switch(i){
- case RECT :
-
-
- //on affecte le style courant
-
- shapeList.add(new MyRectangle(v,p1,p2,h,w));
-
- break;
- case OVAL :
- //creation d'une ellipse
- shapeList.add("Ellipse" );
- break;
- case TRAI :
- //creation d'un trait
- shapeList.add("Trait" );
- break;
- case TEXT :
- //creation d'un text
- shapeList.add("Text" );
- break;
- }
-
- nbShape++;
- }
- /**
- * Supprime un element de la liste des formes
- * @param i le numero dans la liste à enlever
- */
- void delShape(int i){
-
- }
- /**
- * dessine les formes de vector
- * @param g graphique envoyé par la methode paintElement de MonCanvas
- */
- void drawShape(Graphics g){
- String nom;
-
- int i=0;
- MyRectangle rrr = new MyRectangle();
- MyEllipse eee = new MyEllipse();
- MyTrait ttt = new MyTrait();
- MyText tt = new MyText();
- Object o = new Object();
- for(i=0;i<shapeList.size();i++){
- o = shapeList.get(i);
- nom = o.getClass().getName();
-
- if(search("MyRectangle",nom)){
- rrr = (MyRectangle) shapeList.get(i);
- rrr.iPaint(g);
- }
-
- if(search("MyEllipse",nom)){
- eee = (MyEllipse) shapeList.get(i);
- eee.iPaint(g);
- }
- if(search("MyTrait",nom)){
- ttt = (MyTrait) shapeList.get(i);
- ttt.iPaint(g);
- ttt.Myinfo(i);
- System.out.println();
- }
- if(search("MyText",nom)){
- tt = (MyText) shapeList.get(i);
- tt.iPaint(g);
- //tt.Myinfo(i);
- System.out.println();
- }
- //System.out.println();
- /*rrr = (MyRectangle) shapeList.get(i);
- rrr.iPaint(g);
- rrr.Myinfo(i); System.out.println("element "+i);*/
- }
-
- }
-
- boolean search(String pp,String mm) {
- Pattern p = Pattern.compile(pp);
- Matcher m = p.matcher(mm); // get a matcher object
- int count = 0;
- while(m.find()) {
-
- return true;
- }
- return false;
-
- }
-
-
- }
|
|