SHOEISHA iD

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

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

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

Javaで軽快に使える「軽量フレームワーク」特集
~リッチなGUIを構築する「Vaadin」(2)

第11回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 注目の軽量フレームワークをフットワーク軽く取り上げていく本連載。連載第11回目となる今回は、「Vaadin」の第2回目として、このフレームワークに用意されている主なコンポーネントとコンテナについて紹介していきます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 Vaadinの1番の特徴は、その豊富なコンポーネントにあります。強化されたGUIは、JavaScriptライブラリなどでよく見られますが、Javaのフレームワークではあまり見ることがありません。Vaadinのコンポーネントは、HTMLのフォーム関係のコントロールとは何がどう違うのでしょうか。今回は、主なコンポーネント類を一挙に紹介していくことにしましょう。

対象読者

  • Javaで手ごろなフレームワークを探している技術者
  • 最近のフレームワークをごくざっと理解しておきたい方
  • Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ

リンクについて

 今回は、Vaadinに用意されているさまざまなコンポーネントについて説明をしていきましょう。まずは、Webにはつきもののリンクについてです。クリックして他のページなどに移動するハイパーリンクは、「Link」というクラスとして用意されています。これは、次のような形でインスタンスを作成します。

new Link( 表示テキスト, 《ExternalResource》);

 第1引数にはリンクとして表示するテキストを、第2引数にはExternalResourceというクラスを指定します。これは外部のリソースを利用するためのもので、引数にリンクするページのアドレスを指定してインスタンスを作成します。

// import com.vaadin.ui.*; を追記
public void init() {
	mainWindow = new Window("Myvaadin Application");
	VerticalLayout layout = (VerticalLayout)mainWindow.getContent();
	layout.setMargin(true);
	layout.setSpacing(true);
	Link link = new Link("Googleに移動", new ExternalResource("http://www.google.co.jp/"));
	layout.addComponent(link);
	setMainWindow(mainWindow);
}
表示されるリンク。クリックするとGoogleにジャンプする
表示されるリンク。クリックするとGoogleにジャンプする

 これは、クリックするとGoogleのサイト(www.google.co.jp)にジャンプするリンクです。ここではnew Linkでインスタンスを作成し、このとき第2引数にnew ExternalResourceでGoogleサイトのアドレスを指定したインスタンスを渡しているのが分かります。

リンクボタンについて

 リンクには、実はもう1つの形があります。それは、前回にも説明した「Button」を使うというものです。Buttonは、普通にインスタンスを作って組み込めばプッシュボタンになりますが、ちょっと設定を変えることで、リンクとして利用することもできるようになります。

public void init() {
	mainWindow = new Window("Myvaadin Application");
	VerticalLayout layout = (VerticalLayout)mainWindow.getContent();
	layout.setMargin(true);
	layout.setSpacing(true);
	Button button = new Button("リンクをクリック!");
	button.setStyleName(Button.STYLE_LINK);
	button.addListener(new Button.ClickListener() {
		@Override
		public void buttonClick(ClickEvent event) {
			mainWindow.showNotification("リンクをクリックしました。");
		}
	});
	layout.addComponent(button);
	setMainWindow(mainWindow);
}
リンクをクリックすると、メッセージが表示される
リンクをクリックすると、メッセージが表示される

 例えば、このようにすると、「リンクをクリック!」というリンクが表示されます。これをクリックすると、画面にメッセージが表示されます。ここでは、Buttonを作成して組み込んでいるのですが、ボタンの「setStyleName」というメソッドを呼び出し、Button.STYLE_LINKに設定をしていることが分かるでしょう。これで、ボタンは通常のプッシュボタンではなくリンクの形で表示されるようになるのです。

 クリックして実行している「showNotification」というメソッドについても触れておきましょう。これはWindowクラスに用意されているもので、引数に指定したテキストをWebページ内に表示する働きをします。ぼーっと文字が浮かび上がってすぐ消えるので、ちょっとしたメッセージを表示するのにはとても重宝します。

 Linkによるリンクが他のページへの移動のためのものであるのに対し、Buttonによるリンクは、「リンクとして表示される」というだけで、実際の利用方法はプッシュボタンとまったく同じであることが分かります。

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
テキストエリアとリッチテキストエリア

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4942 2010/03/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング