Re: [Linux-programlama] java Serializable - PageFormat

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

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


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.