ControlPanelクラスのコンストラクタ

------------------------------------

コンストラクタです。

まずはインスタンス変数を

this.setDaysFrame = setDaysFrame;
this.biorhythmCanvas = biorhythmCanvas;
this.yourBiorhythm = yourBiorhythm;

calculator = new CalcDate();

と初期化して、次に

setBackground(Color.gray);

と背景色をデフォルト値にセットします。

------------------------------------

「ユーザがButtonを押したときの処理をあるクラスでして、そのときに別のクラスになってるCanvasをどうrepaint()したらいいんだろう?」と以前に私は悩んでしまったことがあります。

JDKに付いてきたデモ・アプレットのソースを眺めていたら、Buttonを処理するクラスのコンストラクタの引数にCanvasを入れるようにして、Buttonクラスでは それのrepaint()を呼ぶようにしていたので、以来そのようにしてます。

ここでbiorhythmCanvasがコンストラクタの引数として渡されてくるのもそのためです。

------------------------------------

インスタンス変数の定義に続いて

nextButton = new Button("Next");
prevButton = new Button("Prev");
setButton = new Button("Set Days");

add(prevButton);
add(nextButton);
add(setButton);

とユーザからの入力を受け付けるボタンを貼り付けておしまい。

------------------------------------

ボタンを貼り付けるときは

add(new Button("Prev"));
add(new Button("Next"));
add(new Button("Set Days"));

のようにしても良いです。ここでは、ちょっとした理由でボタンに変数名を付けておきたかったので、前述のようにしてます。その理由についてはactionメソッドで説明します。

------------------------------------

前の項目へ次の項目へ

「メイキング・オブ・バイオリズム」のページへ