質問: はじめて質問します。よろしくお願いします。 JavaでGUIアプリを作っています。 機能はとしては 1. textFieldで入力した文字と今日の日付を、確定ボタンを押して、 Accessのデータベースに1行ずつ追加していく。 例.Aと入力し確定ボタンを押すとデータベースの1行目に「○月○日,A」と表示。 Bと入力し再度確定ボタンを押すとデータベースの2行目に「○月○日,B」と表示。 2. データベースから入力情報を読み取り、今日入力した文字を3日後、1か月後.. というようにある期間ごとにGUIアプリのtable上に表示させる。 というものを実現したいと考えています。 現在、1までは完成しました。 しかしここで以下の問題が発生しています。 ### 問題 例のようにデータを入力して、プログラムを終了する。 そして、再度プログラムを実行し、文字を入力して確定ボタンを押すと、 1行目に追加しようとしてしまい、上手く動きません。 ### 原因 確定ボタンを押した回数を変数として保持し、何行目に記入させるかという形でプログラミングしているので、プログラムを終了した際に変数が再初期化されるためであると考えています。 ### 質問 1,2行目までデータを書き込んでプログラムを終了し、 再度プログラムを実行しても、きちんと3行目からデータが書き込めるようにするにはどうすればよいのでしょうか。 よろしくお願いいたします。
回答: Javaに限ったことでは無いですが、 1. プログラムが終了する前にファイルやデータベースに変数の内容を保存する 2. プログラム開始のタイミングでファイルやデータベースに変数が保存されているか確認し、保存されていたらその値を変数に格納しなおして処理を続ける という様な流れで変数の引継ぎが可能になります。 *これは他のプログラムと状態を引き継ぐ時にも同じ考え方が出来ます。