Java Software
トップページに戻ります ▼CoffeeMaker プログラム解説▼

■プログラム解説・その1-ハッシュテーブルを利用したデータの入出力管理-■

今回説明しているソースファイルをダウンロードする(CoffeeMaker0_1_so.lzh 3.35KB)●

●さて、こういったメモ帳などの「ウィンドウの大きさを自由に変えて使う事」を前提に考えられているアプリケーションの場合、
setSize(300,300);
などとして、大きさをプログラムレベルで固定してしまう事は良い事ではありません。
何故なら、再び使用する際に、使用者が使い良いサイズにした筈の設定が生かされず、再びウィンドウサイズを設定し直さなければならないからです。
そのようなアプリケーションは二度と使ってもらえないでしょう。

…というような話はともかく、
「以前の設定を保存して、再利用したい」
というのは、せっかくプログラムを組んで作成している以上、当然の話ではあります。
今回はそんな話であります。

Javaには、データを扱う際に様々な形式があります。
例えば、ハッシュテーブル(Hashtable)もそういったものの一つで、
key = value
「鍵」と「値」というような、形をとっています。
これを利用して、例えば、
ウィンドウの横幅=数値
とか、
使用しているフォント=名前
などの様にデータを外部ファイルに保存すれば、起動する際にそのファイルを読み込むだけで、前回使用していた環境を再現可能なわけです。

ここからが本題です。単純に「データを読み取る」といっても、簡単にはいきません。
「CoffeeMaker.java」の中に別クラスとして、「Profiles」クラスを作成してみました。
この中のlocateLoadメソッドで、ウィンドウの横幅を取得できる様にしてみました。 概ね下記のような感じで処理をしています。

入力ファイルのためのストリーム(通路)を開き、読み込む

キーの値を入力し、文字列としてvalueの値を取得

その文字列を10進数のint変数に変換

xの値として返す

このようにして、取得したxの値をプログラムの起動時にsetSize()メソッドに読み込ませ、その値で表示させてやれば、任務完了!というわけです。

その際、設定を読み込むために使用しているファイルは(もちろん保存しているのも)setting.iniというファイルです。
このファイルは通常のテキスト形式なので、もちろんCoffeeMakerで見る事が出来ます。一度開いてみても良いでしょう

[トップページ] [Java Software トップページ] [次の話へ]