目次> 第9章> 9.6 TOPUPPREVNEXT

9.6 回答システムのプログラム

ソースプログラム NumberGameExaminee.java

下図のように2つのクラスから構成されています。

page-9-6-1.gif

NumberGameExaminee.java の詳細】

5〜45行目

クラス AnswerView の定義。

7行目

回答のある範囲の下限を定義する。初期値をゼロにする。

8行目

回答のある範囲の上限を定義する。初期値は9999とする。

9行目

回答の値の保存領域の宣言をする。

10行目

回答を表示するためのラベルを定義する。右づめ表示を指定しておく。

12〜40行目

コンストラクタ AnswerView の定義

13〜15行目

ウィンドウクローズ時の処理の指定する。

16行目

コンテントペインに cont という名前をつける。

17行目

cont の CENTER に answerLabel を貼り付ける。

18〜19行目

ボタンを縦に3個ならべるために、中間パネル buttons を生成する。

20〜21行目

「正解」ボタンを生成して、buttons パネルに貼り付ける。
アクションリスナは付加しない。

22〜29行目

「もっと大きい」ボタンを生成し、
ボタンが押されたら、
前回の回答を今度の回答の範囲の下限と設定し、
回答を計算しラベルに表示する setAnswer メソッドを呼び出す。

30〜37行目

「もっと小さい」ボタンを生成し、
ボタンが押されたら、
前回の回答を今度の回答の範囲の上限と設定し、
回答を計算しラベルに表示する setAnswer メソッドを呼び出す。

38行目

ボタン3個が貼り付けられたパネル buttons を cont の SOUTH に貼り付ける。

39行目

最初の回答を表示するために、 setAnswer メソッドを呼び出す。

41〜44行目

メソッド setAnswer の定義

42行目

回答が存在する範囲(上限と下限のあいだ)の真中の値を、 新しい回答として answer に設定する。

43行目

answer の値を文字列に変換し、 answerLabel の背中に貼り付ける。

47〜54行目

クラス NumberGameExaminee の定義。
メソッド main を定義するだけが目的のクラス。

49〜53行目

メソッド main の定義をおこなう。

50行目

AnswerView クラスのインスタンスを生成し、ans という名前をつける。

51〜52行目

ans の大きさを調整し、表示する。

更新日:2004/04/18 TOPUPPREVNEXT