コントロール作成の流れ
では、コントロールがどのように作成されているか見てみましょう。まずはチェックボックスからです。これは比較的簡単です。
チェックボックス
check = new Checkbox("check", "チェック");
TextFieldなどと同様で、名前とラベルを引数に指定してnewしているだけです。チェックの状態を操作したい場合には、「setChecked」というメソッドで変更できます。例えば、
check.setChecked(true);
このようにしておけば、チェックがONの状態で表示されます。チェックの状態は、getValueで調べることもできますが、これで得られるのはStringです。booleanでチェック状態を取得したければ、「isChecked」というメソッドを使うと良いでしょう。
ラジオボタン
group = new RadioGroup("group","ラジオ",true);
Radio r1 = new Radio("Windows","Windows");
Radio r2 = new Radio("Linux","Linux");
Radio r3 = new Radio("Mac OS X","Mac OS X");
group.add(r1);
group.add(r2);
group.add(r3);
ラジオボタンは、まず最初にRadioGroupを作成します。ここでは名前とラベルの後に、trueという第3の引数がつけられていますが、これは「必須項目」として扱えるようにするためのものです。これはRadioGroupに限らず、Apache Clickのコントロールクラスには一通り用意されています。試しに、ラジオボタンを選択せずに送信してみましょう。画面にエラーメッセージが表示されます。

RadioGroupが用意できたら、Radioインスタンスを必要なだけ作成してaddしていきます。このRadioは、第1引数がvalueで得られる値、第2引数がラベルとなります。
選択リスト
select = new Select("select","選択",true);
select.add("-");
select.add("東京");
select.add("埼玉");
select.add("千葉");
select.add("神奈川");
選択リストは、名前、ラベル、そして必須項目の真偽値を引数にして作成しています。表示される項目は、addで組み込んでいます。このとき、最初の項目は"-"を追加しています。ここでは必須項目として作成しているので、1番目は「何も選択されてない状態」を示す項目になります。2番目以降が、実際に選択される項目というわけです。
まとめ
ごく簡単にですが、Apache Clickを使ったWebページを作成して、どのように動くのか、体験してみました。Apache Clickでは、「Pageクラス」と「テンプレート」の2つでWebページが構成されていることがよく分かるでしょう。テンプレートでは、基本的にHTMLがベースであり、それ以外の要素は、いくつか変数を埋め込む程度です。フォームなども具体的なタグは書きません。重要な要素は、ほぼすべてPageクラス側で用意されます。
フォームはコントロール・クラスとしてPageクラス側に用意されます。まだ今回の時点では、わざわざJava側にコントロールとして作成していく利点が見えにくいかもしれません。しかし、そうすることで「Javaのコード内で管理できるようになる」ということだと考えるとよいでしょう。
