ついに入力を担当するControlPanelクラスもできたので、ここまでを確認します。
SampleApplet2.javaを用いて試してみます。アプレットの中身は
public void init() {
yourBiorhythm = new Biorhythm();
biorhythmCanvas = new BiorhythmCanvas(yourBiorhythm);
controlPanel = new ControlPanel(new SetDaysFrame(), biorhythmCanvas, yourBiorhythm);
setLayout(new BorderLayout());
add("Center", biorhythmCanvas);
add("South", controlPanel);
}
です。
yourBiorhythm = new Biorhythm(); biorhythmCanvas = new BiorhythmCanvas(yourBiorhythm); controlPanel = new ControlPanel(new SetDaysFrame(), biorhythmCanvas, yourBiorhythm);
とデフォルト値のBiorhythmクラス、BiorhythmCanvasクラス、ControlPanelクラスのインスタンスを作成して
setLayout(new BorderLayout());
add("Center", biorhythmCanvas);
add("South", controlPanel);
とBorderレイアウトでアプレットに貼り付けてできあがりです。
SetDaysFrameクラスについては、まだ説明していないので
class SetDaysFrame extends java.awt.Frame {
}
というソース(SetDaysFrame.java)をコンパイルして用いています(スタブのつもり)。このクラスをnewでインスタンス化すると親クラスのjava.awt.Frameのデフォルトのコンストラクタが呼ばれます。
さて、見栄えは
となります。かなり完成形に近づきました。"Set Days"ボタンを押すとへんてこなFrameが現れて消すことができなくなります。