SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

第4回


コントロール作成の流れ

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

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

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4555 2009/11/26 19:26

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー