CodeZine(コードジン)

特集ページ一覧

Javaで軽快に使える「軽量フレームワーク」特集
低い学習コストを重視した「Apache Click」 (1)

第4回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/11/26 14:00

目次

コントロール作成の流れ

 では、コントロールがどのように作成されているか見てみましょう。まずはチェックボックスからです。これは比較的簡単です。

チェックボックス
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のコード内で管理できるようになる」ということだと考えるとよいでしょう。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/11/26 19:18 ※onInit関連の記述に誤りがありました。リストおよび本文を修正致しました。

バックナンバー

連載:Javaで軽快に使える「軽量フレームワーク」特集

もっと読む

著者プロフィール

  • 掌田 津耶乃(ショウダ ツヤノ)

    三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。 ※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開中。またGoogle+プロフィールはこちら。

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5