1

私はFinancialBookの問題を解決するのに役立つチュートリアルソフトウェアに取り組んでいます。つまり、コンボボックスとフォーマットされたテキストボックスを含むワークシートのようなものです。1つを除いて、すべてが私が望むように機能しています。いつでも自分の作業を保存する方法はありますか?

Lemmeは具体的に。12の章があり、各章には15〜20の問題が含まれています。それぞれの問題は、テキストボックスとコンボボックスの組み合わせ、およびいくつかのjtabbedパネルなどを使用した設計です。ワークシートの半分を解決し、後で開くことができるように保存したい場合は、ソフトウェアを開きます。それを行う方法はありますか?問題は、すべてのシートにコンボボックスとテキストボックスの数が異なるため、変数も異なることです。

前もって感謝します

4

2 に答える 2

1

このデスクトップアプリケーションの状態を保存するには、永続ストアが必要です。データベースまたはファイルストアについて考えてみてください。「アプリの状態」をシリアル化することもできます。オブジェクトに保存してディスクに保存し、アプリを再起動したときにリロードします。

于 2011-06-25T18:41:08.060 に答える
1

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

于 2011-06-25T18:46:33.157 に答える