Ik ben met een een gedeelte van een programma bezig waarin je een circuit kunt tekenen door allemaal lijnen te tekenen van het type Line2D. Deze lijnen worden in een Vector opgeslagen in mijn klasse Circuit.
Deze lijnen wil ik opslaan door deze klasse Serializable te maken, echt dit lukt niet. Line2D werkt met Point2D, als ik deze ga saven worden de goede punten gebruikt. Als ik deze weer probeer te loaden krijg ik alleen 0 punten:
Weet iemand hoe dit komt? Heeft het te maken met dat Point2D niet Serializable is ofzo?
Ik maak gebruik van deze load en save methode:
Deze lijnen wil ik opslaan door deze klasse Serializable te maken, echt dit lukt niet. Line2D werkt met Point2D, als ik deze ga saven worden de goede punten gebruikt. Als ik deze weer probeer te loaden krijg ik alleen 0 punten:
code:
1
2
3
4
5
| Circuit saved - Point2D.Double[224.0, 251.0]Point2D.Double[307.0, 343.0] Circuit loaded - Point2D.Double[0.0, 0.0]Point2D.Double[0.0, 0.0] |
Weet iemand hoe dit komt? Heeft het te maken met dat Point2D niet Serializable is ofzo?
Ik maak gebruik van deze load en save methode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| /**
* Save circuit to textfile
* @param filename The circuit is written to this file
*/
public void save(String filename)
{
try
{
FileOutputStream fos = new FileOutputStream(filename);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(circuit);
oos.close();
System.out.println("Circuit saved");
}
catch (Exception e)
{
System.out.println("Exception try to save circuit: " + e);
}
}
/**
* load circuit from textfile
* @param filename The circuit loaded from this file
*/
public void load(String filename)
{
try
{
FileInputStream fos = new FileInputStream(filename);
ObjectInputStream ios = new ObjectInputStream(fos);
circuit = (SCircuit)ios.readObject();
ios.close();
System.out.println("Circuit loaded");
}
catch (Exception e)
{
System.out.println("Exception try to load: " + e);
}
} |
Je moet doen wat je niet laten kunt, en laten wat je niet doen kunt.