SHOEISHA iD

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

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

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

Javaで軽快に使える「軽量フレームワーク」特集
~アプレットベースのRIAフレームワーク「Apache Pivot」(1)

第13回

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

Labelの作成

 では作成したソースコードをチェックしてみましょう。startupメソッドから見ていきます。画面に表示されているウインドウとテキストの表示を用意しています。

 GUIで利用される部品類は、Pivotのコンポーネント/コンテナ・クラスとして用意されています。ここでは、ウインドウのコンテナ「Window」と、テキストを表示するラベルのコンポーネント「Label」を利用しています。これらはAWTなどではなく、org.apache.pivot.wtkパッケージに独自のクラスとして用意されています。

 まずはLabelからです。Labelは、AWTのLabelと同様、テキストを表示するためのものです。最初にnewでインスタンスを作成します。

Label label = new Label();

 続いて、作成したインスタンスのメソッドを呼び出し、コンポーネントに必要な設定を行っていきます。コンポーネントの表示は、それぞれのクラスにプロパティとして用意されており、アクセサ・メソッドを呼び出して設定を行います。まず表示するテキストを「setText」メソッドで設定します。

label.setText("Hello Pivot!");

 これは説明の必要がないでしょう。問題はその後に行っている「表示スタイルの設定」です。Labelなどのコンポーネントの表示スタイルは、「StyleDictionary」というクラスのインスタンスとして管理されています。これは「getStyle」というメソッドで取得することができます。コンポーネントの表示スタイルを設定するには、まずこのメソッドでコンポーネントに設定されているStyleDictionaryインスタンスを取得し、そこに「put」メソッドを使って必要な値を追加していきます。

StyleDictionary style = label.getStyles();
style.put("font", new Font("Arial", Font.BOLD, 24));
style.put("color", Color.RED);
style.put("horizontalAlignment", HorizontalAlignment.CENTER);
style.put("verticalAlignment", VerticalAlignment.CENTER);

 ここでは、"font","color","horizontalAlignment","verticalAlignment"といった設定を追加しています。color/fontは、AWTに用意されているColor/Fontクラスのインスタンスをそのまま利用することができます。horizontalAlignment/verticalAlignmentは縦横の位置揃えを設定するものですが、それぞれHorizontalAlignment/VerticalAlignmentクラスに用意されているクラスフィールドを使って指定をします。ここではいずれもCENTERを指定し、中央揃えで表示するように設定しています。

Windowの作成

 続いてウインドウとなるWindowインスタンスを作成します。これもLabelと同様、newでインスタンスを作成後、メソッドを呼び出してプロパティを設定していきます。

window = new Window();
window.setContent(label);
window.setTitle("Hello Pivot!");
window.setMaximized(true);
window.setSize(320, 200);

 ここでは、4つのメソッドを呼び出しています。「setContent」は、Windowsに表示するコンテンツを設定するもので、先ほどのLabelインスタンスを引数に設定しています。Windowは、その中に表示するコンポーネント/コンテナをsetContentで設定します。ここでは単純にLabelを設定していますが、複雑なレイアウトであれば、複数のコンポーネントを追加するコンテナを用意して設定します。

 「setTitle」はウインドウのタイトルを設定するものです。「setMaximized」は、コンテナ(Window)のサイズに合わせてコンテンツを最大化するもので、trueにしておくとウインドウの大きさに合わせてLabelが大きさを調整されます。「setSize」はウインドウの横幅・縦幅を設定するものです。

 ウインドウの設定が終わったら、最後に「open」メソッドを呼び出し、ウインドウを開きます。

window.open(display);

 openは引数にウインドウの親コンテナを指定します。AWT/Swingなどでも、ダイアログを表示するとき、そのウインドウのオーナーとなるコンテナを指定しますが、それと同様に考えればよいでしょう。ここでは、startupメソッドの引数として渡される「display」を指定しています。これは「Display」クラスのインスタンスで、アプリケーションのウインドウなどが表示されるルートとなるコンテナです。画面に表示するウインドウは、このDisplayをオーナーとしてopenするのです。

次のページ
アプリケーションとして実行する

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング