The_LMedlem sedan okt. 2001154 inlägg Tjena. Har ett problem att det inte funkar att spara en vektor med objekt på fil. Får bl.a java.io.notSerializableException. Jag har alltså några objekt som jag skapat själv och via en annan huvudklass. I denna huvudklass har jag skapat en vektor där jag lagt in alla objekt. Nu vill jag spara den på fil men det går alltså inte. Skickar med lite kod för att visa.
out är en ObjectOutoputStream
public void sava()
{
try{
out = new ObjectOutputStream(new FileOutputStream("table.dat"));
out.writeObject(tableVec);
out.close();
}
catch(IOException io)
{
System.out.println("Fel vid skrivning till fil");
io.printStackTrace();
}
}
Jag förstår inte varför det inte går. Har implementerat Serializable i alla berörda klasser också. Nån som ser nåt mysko?
//The_L
ViktorMedlem sedan aug. 20021 752 inlägg Såhär står det i Javadoc,
NotSerializableException - Some object to be serialized does not implement the java.io.Serializable interface.
Kontrolera så att alla objekt verkligen implementerar Serializable.
/Viktor
The_LMedlem sedan okt. 2001154 inlägg Ok, tackar.
Nu är det så att jag har några muslyssnare som verkar göra så att det skapas inre klasser i en annan klass. Vet inte hur jag ska göra för att implementera Serialibizable på dessa om det är det som är felet. Skickar lite kod igen =)
Det här ligger alltså inne i en annan klass.
MouseListener l = new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
/
if((e.getButton() ==1) && (e.getClickCount() == 1))
{
int x = e.getX();
int y = e.getY();
int j = 0; // en int för att kolla om man kommer in i metoden nedan, dvs om man klickat inom en ikon
for (int i = 0; i < tableVec.size();
Osv, osv.
Hur ska man implementera Serializable i den klassen då, om den nu är en inre klass på nåt vis?
//The_L
spangoMedlem sedan juni 20008 205 inlägg Alla instansvariabler i ett objekt måste vara serialiserbara för att objektet ska kunna serialiseras, detta innebär även alla ickestatiska inre klasser. Du har två alternativ:
-
Skriv en "riktig" inre klass (inte en anonym som du har nu) och låt den implementera Serializable och ärva MouseAdapter.
-
Flytta ut muslyssnaren till en egen klass.
The_LMedlem sedan okt. 2001154 inlägg Ok, jag har förstått det så jag gjorde egna lyssnarklasser som ärvde av MouseAdapter och implementerade Serializable, men det funkade inte ändå. Förstår inte.
En hel dag har gått åt till det där. Ruskigt jobbigt =(
Men jag tar nya tag idag.
//The_L