Вам нужна модель для вашего рабочего листа.Эта модель представляет собой структуру данных и не имеет отношения (как таковая) к тому, что для ее представления используются графические элементы GUI.
Вы сохраняете состояние модели - начинайте с простой сериализации - длядиск на сохранении.Загрузка при запуске.
Что-то в этом духе позволяет равномерно обрабатывать ваши рабочие листы.
public interface PersistentModel {
boolean save (OutputStream out) throws IOException;
boolean load (InputStream out) throws IOException;
}
public interface SpreadSheet extends PersistentModel {
Worksheet[] getWorksheets();
Worksheet getWorksheet(int i); // and other related, etc.
}
public interface Worksheet extends PersistentModel {
int id();
Element get(String name):
Element[] getElements();
public interface Element<T> extends PersistentModel {
String getName();
T getValue();
boolean setValue(T v);
}
}
Swing использует MVC, и у вас есть стандартные механизмы перехвата вашей модели (структура данных, содержащая состояниерабочие листы), и GUI (вероятно, колебание), который является представлением того же самого.Я предполагаю, что это не проблема.