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

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

では例の如くコンストラクタから見てきます。

と、その前に日付を設定するために新しいフレームを表示することにしてるのでSetDaysFrame

class SetDaysFrame extends Frame {

のようにjava.awt.Frameクラスのサブクラスとして作成します。

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

ではホントにコンストラクタ見てきます。最初に

super(title);

で親クラスのコンストラクタを呼び出しフレームのタイトルを設定します。続いて

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

と、引数で持ってきたyoutBiorhythmbiorhythmCanvasの設定です。次に

birthdayYearField = new TextField(4);
birthdayMonthField = new TextField(2);
birthdayDateField = new TextField(2);

calcYearField = new TextField(4);
calcMonthField = new TextField(2);
calcDateField = new TextField(2);

OKButton = new Button("OK");
cancelButton = new Button("Cancel");

と誕生日・バイオリズムを計算する日の年月日を設定するテキストフィールドと設定の完了・取り消しを指示するボタンを作成します。

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

その後の

GridBagLayout gb = new GridBagLayout();
GridBagConstraints gc1 = new GridBagConstraints();
gc1.anchor = GridBagConstraints.WEST;
GridBagConstraints gc2 = new GridBagConstraints();

Panel dayPanel = new Panel();
dayPanel.setLayout(gb);

mb(0, 0, 5, 1, dayPanel, new Label("Birthday : "), gb, gc1);

mb(0, 1, 1, 1, dayPanel, birthdayYearField, gb, gc2);
mb(1, 1, 1, 1, dayPanel, new Label("/"), gb, gc2);
mb(2, 1, 1, 1, dayPanel, birthdayMonthField, gb, gc2);
mb(3, 1, 1, 1, dayPanel, new Label("/"), gb, gc2);
mb(4, 1, 1, 1, dayPanel, birthdayDateField, gb, gc2);

mb(0, 2, 5, 1, dayPanel,new Label("Calculate Day : "), gb, gc1);

mb(0, 3, 1, 1, dayPanel, calcYearField, gb, gc2);
mb(1, 3, 1, 1, dayPanel, new Label("/"), gb, gc2);
mb(2, 3, 1, 1, dayPanel, calcMonthField, gb, gc2);
mb(3, 3, 1, 1, dayPanel, new Label("/"), gb, gc2);
mb(4, 3, 1, 1, dayPanel, calcDateField, gb, gc2);

Panel buttonPanel = new Panel();
buttonPanel.add(OKButton);
buttonPanel.add(cancelButton);

setLayout(new BorderLayout());
add("Center", dayPanel);
add("South", buttonPanel);

ではパネルを2枚作って、そのうち1枚のパネルのレイアウトをGridBagLayoutにして下記のようなレイアウトを作成しています。

レイアウトの説明図

GridBagLayoutについてはメソッドmb()のところでほーんの少しだけ説明します。

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

前の項目へ次の項目へ

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