Witam, robię mały projekt w JavaFX.
Mam w nim ArrayList z obiektami mojej własnej klasy. Następnie tę listę wkładam do ObservableList, gdyż potrzebuję ją w ComboBoxie, a w nim może być tylko ObservableList.
Problemem jednak jest zapisanie do pliku tej ObservableList.
Wywala błędy zarówno przy standardowej serializacji:
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(plik_aktualny));
out.writeObject(lista);
out.close();
jak i przy próbie serializacji za pomocą Gsona:
public void zapiszPlik() throws JsonIOException, IOException {
Writer writer1 = new FileWriter(aktualnyPlik);
Gson gson = new Gson();
gson.toJson(lista, writer1);
writer1.close();
}
public void wczytajPlik() throws JsonSyntaxException, JsonIOException, FileNotFoundException {
Reader reader1 = new FileReader(aktualnyPlik);
Gson gson = new Gson();
<u>ObservableList<Słowo> lista = gson.fromJson(reader1, ObservableList.class);</u>
}
Serializacja odbywa się w sumie prawidłowo, ale gdy próbuję dokonać deserializacji, to wyskakuje błąd (podkreślona linia w kodzie):
Caused by: java.lang.ClassCastException: Cannot cast java.util.ArrayList to javafx.collections.ObservableList
Co z tym zrobić ma ktoś pomysł?
Z góry dzięki za pomoc.