基本的なグラフィック・アプリケーション・モデル

Rogue Wave® JViews を効率よく使用するためには、Rogue Wave JViews Framework の使い方を理解しなければなりません。Framework を使用するためには、基本オブジェクト・モデル、つまり、コアとなる Java オブジェクトとその関係を理解する必要があります。

Framework オブジェクト・モデル

基本的なグラフィック・アプリケーションには、次のような複数のパーツが必要なだけです。
  • 複数のグラフィック・オブジェクト (サイズ変更、選択、および機能の描画で操作済み)
  • それらを 1 つにまとめるデータ構造
  • 描画されたグラフィック・オブジェクト上で拡大と縮小ができるビュー・ポート (通常、表示ウィンドウ内の矩形領域)。
Rogue Wave JViews の世界では、正式にはこれらのパーツをそれぞれ IlvGraphic オブジェクト、 IlvManager オブジェクト、および IlvManagerView オブジェクトと呼びます。オブジェクトの構成については、次の図を参照してください。
基本グラフィック・アプリケーションの構成を示すダイアグラム。このダイアグラムのオブジェクト・インスタンスは、陰影付き矩形の積み重ねられたカードとして表されています。IlvManagerView クラスの Viewport インスタンスは、IlvGraphic クラスの Graphic Object インスタンスを含む IlvManager クラスの DataStructure インスタンスを表示します。
基本 Rogue Wave JViews クラス
次の図に、UML クラス・ダイアグラムとして表現された同じクラスを示します。
標準的なグラフィック・アプリケーション 内の基本クラスの UML クラス・ダイアグラム。IlvManager の 1 つのインスタンスから任意の数の IlvMangerView インスタンスが構成されます。IlvManager は、IlvGraphic の基本クラスで、IlvGraphicBagインターフェースに依存します。IlvManager は、ゼロ以上の IlvGraphic オブジェクトで構成されます。これらのすべてのクラスは ilog.views パッケージ内にありますが、IlvManagerView は、java.awt パッケージから Component を拡張します。
基本クラス: UML クラス・ダイアグラム

グラフィック・オブジェクト: IlvGraphic

IlvGraphic グラフィック・オブジェクトは、通常、エンド・ユーザーのアプリケーション・ドメインのカスタム・エンティティーを表しています。例えば、通信ネットワークの地図表示では、背景地図となる線、ラベル、多角形などとともに、ネットワーク内の通信機器を表すさらに高度なオブジェクトがあります。
グラフィック・フレームワークには、矩形、折れ線、多角形、スプライン、ラベルなどの定義済みグラフィック・オブジェクトのセットが多数含まれています。他のドメイン特有のオブジェクト (上記の例ではネットワーク機器) はこれらのオブジェクトの 1 つまたは基本クラス・オブジェクト IlvGraphic をサブクラス化して、または定義済みのオブジェクトをグループ化して作成することができます。

データ構造: IlvManager

IlvManager データ構造はグラフィック・オブジェクトのコンテナーであり、したがって Framework の中で最も重要なオブジェクトです。マネージャーはグラフィック・オブジェクトを複数レイヤーで構成し、上位レベルのレイヤーに含まれるグラフィック・オブジェクトは下位レベルのレイヤーにあるオブジェクトの前に表示されます。
マネージャーでは、グラフィック・オブジェクトを選択する方法も提供しています。ライブラリーには選択したグラフィック・オブジェクトを表示する定義済みの方法がいくつかありますが、IlvManager をサブクラス化してユーザー定義の表示方法を作成できます。

ビューポート: IlvManagerView

IlvManagerView ビュー・ポートは、マネージャーのグラフィック・オブジェクトを表示するために設計されています。クラス IlvManagerView は、マネージャーを表示するために AWT または Swing アプリケーションで使用するコンポーネント (java.awt.Component クラスのサブクラス) です。マネージャー・ビューでビューとして表示するマネージャーのレイヤーを定義することができます。さらに、複数のマネージャー・ビューを使用してマネージャーの異なる領域を表示することもできます。ビューの内容の拡大およびパンが可能です。