SHOEISHA iD

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

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

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

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

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

第15回

図形の描画

 ImageViewは、基本的にイメージを表示するものですが、「Canvas」というコンポーネントをイメージとして設定することで、プログラム的に図形を描画し表示させることも可能です。これは、次のような構成となります。

<ImageView>
    <image>
        <media:Drawing>
            <canvas>
                <Canvas xmlns="org.apache.pivot.wtk.media.drawing">
                    ……図形情報を記述する……
                </Canvas>
            </canvas>
        </media:Drawing>
    </image>
</ImageView>

 <Window>タグには、xmlns:media="org.apache.pivot.wtk.media"を追加しておく必要があります。これを忘れると、<media:Drawing>が認識できなくなるので注意してください。では、簡単なサンプルを挙げましょう。

<Window title="Sample" maximized="true"
        xmlns:wtkx="http://pivot.apache.org/wtkx"
        xmlns:media="org.apache.pivot.wtk.media"
        xmlns="org.apache.pivot.wtk">
    <content>
        <ImageView>
            <image>
                <media:Drawing>
                    <canvas>
                        <Canvas xmlns="org.apache.pivot.wtk.media.drawing">
                            <Rectangle x="25" y="25" width="100" height="100"
                                    stroke="" fill="#00FFFF" />
                            <Ellipse x="75" y="75" width="100" height="100"
                                    stroke="" fill="#ff0000" />
                        </Canvas>
                    </canvas>
                </media:Drawing>
            </image>
        </ImageView>
    </content>
</window>
図14 四角形と円の図形を作成し表示したところ。
図14 四角形と円の図形を作成し表示したところ。

 図形は、RectangleとEllipseを使っています。これらは四角形・円を描くためのもので、それぞれx、y、width、height、stroke、fillといったプロパティを持っています。これらで、位置、大きさ、線分と塗りつぶしの色を指定します。この他、Line、Arc、Path、QuadCurveといった図形描画用の要素が用意されています。

 実際問題として、複雑な図形はJavaのソースコードで記述した方が、Javaプログラマにとっては楽でしょうし、プログラム的に描画を操作する場合も扱いやすいでしょう。しかし、「XMLファイルに描画まで記述できる」ということの意味は大きいように思えます。テキストファイルを書き換えるだけで、プログラムに描画される図形を修正できるわけですから。

まとめ

 今回は、Pivotのコンポーネント類を総覧的に紹介しました。それぞれの細かな使い方まで踏み込んでいないので、実際に利用する場合にはもっと深く理解しなければならない点もあるでしょう。あくまで「こんなにいろいろなものが用意されているんだ」というサンプルとして考えてください。

 今回、まだ紹介しきれていないコンポーネントもあります。例えば、レイアウト用のペインなどはほとんど取り上げられませんでしたし、ツリー表示やテーブル、リスト表示などのデータを扱うものも見送りました。そうしたものまで含めると、PivotのコンポーネントはSwingなどと比べてもかなり豊富であることが分かるはずです。「豊富なコンポーネントを使ってGUIを構築できる」という点だけでも、Pivotを利用する価値は十分にある、と言えるでしょう。

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5113 2010/05/26 14:00

イベント

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

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

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

メールバックナンバー