ワークシートのモデルが必要です。このモデルはデータ構造であり、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(スイングの可能性が高い)があります。それは問題ではないと思います。