Witam.
Mam takowy problem. Nigdzie w necie nie mogę znaleźć informacji na temat mnie interesujący, a mianowicie:
Piszę program z wykorzystaniem biblioteki SWT i potrzebuje zapisać pewne obiekty z niej (np. Image, Color, Text) na dysku. Do tej pory korzystałem z AWT i Swinga, więc nie musiałem się martwić serializacją, a SWT nie ma tego wbudowanego.
Więc czy jest możliwość zapisu (również odczytu) obiektów z SWT podobnie jak te serializowane. Chodzi o coś takiego, aby zapisać cały obiekt klasy 'Klasa' zawierający obiekt(y) z SWT:
//
//kod pisany z palca, niekompilowany, pokazuje tylko problem
//
import java.io.Serializable;
import org.eclipse.swt.graphics.Image;
public class Klasa implements Serializable {
private static final long serialVersionUID = -5458770022571283520L;
private Image image;
(...)
}
public class Zapis {
public static void zapisz(Klasa k)
{
try
{
ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream("plik"));
out.writeObject(k);
out.close();
}
catch(...)
{
}
}
}
Wiem, że w powyższy sposób nie da się zapisać nie serializowanego obiektu. Przynajmniej przy próbie takiego zapisu, program rzuca wyjątek, że obiekt (w tym przypadku) Image jest nie serializowany i nie da się go zapisać, ale może jest jakiś odpowiednik klasy ObjectOutputStream, która może zapisać obiekty z SWT, w podobny sposób (czyli podaje jako argument cały obiekt i nic więcej mnie nie martwi)?