Prova a vedere se una classe del genere ti può aiutare:
codice:
import java.awt.*;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.swing.*;
public class TestSer {
public static void main(String[] args)throws Exception {
//Creo il frame
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,500);
JButton button=new JButton("Premi");
frame.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
frame.getContentPane().add(button);
//serializzo in un file
FileOutputStream fos=new FileOutputStream("c:/frame.ser");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(frame);
fos.close();
oos.close();
//recupero il frame deserializzando il file
FileInputStream fis=new FileInputStream("c:/frame.ser");
ObjectInputStream ois=new ObjectInputStream(fis);
JFrame altro=(JFrame)ois.readObject();
fis.close();
ois.close();
//mostro il risultato
altro.show();
}
}