
From: Bora Güngören (bora@boragungoren.com)
Date: Tue 18 Oct 2005 - 22:05:34 EEST
Merhaba,
PageFormat sınıfının Serializable arabirimini uygulaması gerekli  ki 
serileştirme sırasında nesnesi kaydedilsin.
Eğer PageFormat nesnesi sizin için önemli değilse, yani serileşmese de 
olur diyorsanız referansını
transient PageFormat pf;
gibi tanımlayabilirsiniz. Bu durumda nesne serileşirken bu referans null 
değer ile taşınacaktır. Dolayısı ile serileşemeyen nesneyi 
serileştirmeye kalkmamış olursunuz.
Eğer sizin için önemli ise, yani serileştirmek gerekirse, o zaman iki 
seçenek var. Birincisi PageFormat sınıfının kodu ile oynamak (Java 
lisansını ufak çaplı ihlal ediyorsunuz) ve sınıf tanımında implements 
Serializable demek.
İkinci seçenek ise PageFormat nesnesini yaratırken kullandığınız 
parametreleri tutmak ve onları serileştirmek. Böylede geri serileştirme 
sonrasında elinizde o nesneyi yeniden yaratacak bir seçenek olacak. Bu 
arada sınıfınızdaki yöntemlerin nesnenin serileştirmeden yeni çıkmış ve 
PageFormat nesnesine sahip olmadığı bir durumu da göz önüne alarak daha 
kapsamlı yazılması gerekecektir.
Bora Güngören.
Ali Dereli wrote:
> Merhaba;
>  
> PageFormat tutan bir sınıfı serilestirmek istedigimde
> java.io.NotSerializableException: java.awt.print.PageFormat
> hatasını alıyorum.
> Googleda aradım bir tane link cıktı oda almanca.
>  
> kodu kısaca yazıyım:
> sınıf:
>  class yedek implements Serializable {
>       PageFormat pageFormat=null;
>       public yedek (PageFormat pageFormat){
>           this.pageFormat=pageFormat;
>       }
>   }
>  
> dosyanın yazıldıgı kod parcacıgı
>           PrinterJob pj = PrinterJob.getPrinterJob();
>           yedek y=new yedek(pj.pageDialog(pageFormat));
>           try{
>             FileOutputStream fos=new FileOutputStream("print.ali");
>             ObjectOutputStream oos=new ObjectOutputStream(fos);
>             oos.writeObject(y);
>             fos.close();
>           }
>           catch(Exception ex){
>               System.out.println("hata " + ex);
>           }
>  
> sizce nerde ne yapmam gerekli.
>  
> tesekkurler.
>  
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Linux-programlama mailing list
>Linux-programlama@liste.linux.org.tr
>http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
