ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド
11g リリース2(11.1.2.4.0)
B66719-05
  目次へ移動
目次

前
 
次
 

21 ADFデータ視覚化コンポーネントの概要

この章では、インタラクティブなADF Facesコンポーネントの表現力が高いセットであるADFデータ視覚化コンポーネントについて説明します。コンポーネント全般およびその他のADF Facesコンポーネントとの共有機能についても焦点を当てます。この部の他の章では、各コンポーネントの作成およびカスタマイズ方法について説明します。

この章では、次の項目について説明します。

21.1 ADFデータ視覚化コンポーネントについて

ADFデータ視覚化コンポーネントには、データの表示および分析を行うための非常にグラフィカルな表形式の機能が用意されています。このコンポーネントでは、次の機能が提供されます。

ADFデータ視覚化コンポーネントには、グラフ、ゲージ、ピボット・テーブル、地理マップ、テーマ・マップ、ガント・チャートおよび階層ビューアがあります。

接頭辞dvt:は、各ゲージ・コンポーネント名の先頭に付いて、そのコンポーネントがADFデータ視覚化ツール(DVT)のタグ・ライブラリに属することを示します。

21.1.1 グラフ・コンポーネントのユースケースおよび例

グラフ・コンポーネントには、棒グラフ、円グラフ、折れ線グラフ、散布図、株価チャートなど、50種類以上のグラフを作成する機能が用意されています。このコンポーネントでは、複数軸の複数データ・ポイントを様々な方法で評価できます。たとえば、一群のグラフにより、あるグループからの結果と他のグループからの結果の比較が容易になります。

グラフ・コンポーネントでは次の種類のグラフを作成できます。

  • 面グラフ(areaGraph): データが塗りつぶされた面として表されるグラフを作成します。面グラフを使用して、過去12か月の売上げなど、ある期間の傾向を示します。面グラフでは、1つの軸上に最低2グループのデータが必要です。軸には、月などの時間の経過を表すラベルが付けられることがよくあります。

  • 棒グラフ(barGraph): データが一連の縦棒として表されるグラフを作成します。ある期間の傾向の確認や、複数の地域での異なる製品区分の売上げなど、同一時点での項目の比較に使用します。

  • 棒(横)グラフ(horizontalBarGraph): Y軸に沿って棒を横向きに表示するグラフを作成します。傾向の表示や値の比較に使用できる向きを持たせるために使用します。

  • バブル・グラフ(bubbleGraph): データが円形のデータ・マーカー(バブル)の位置とサイズで表されるグラフを作成します。3種類の値の相関関係を示す場合(データ項目が多数で全体の関係を表示する場合は特に)に使用します。たとえば、バブル・グラフを使用して、従業員の給与(X軸)、経験年数(Y軸)と生産性(バブルのサイズ)をプロットします。このようなグラフでは、生産性を給与および経験と比較して調べることができます。

  • 組合せグラフ(comboGraph): 異なる種類のデータ・マーカー(棒、線または面)を使用して異なる種類のデータ項目を表すグラフを作成します。棒と線、棒と面、線と面あるいは3つすべての組合せの比較に使用します。

  • ファンネル・グラフ(funnelGraph): プロセスのステップに関連するデータを視覚的に表すグラフを作成します。ステップは、横向きの円柱に対する縦向きのスライスとして表されます。特定のステップ(スライス)の実際の値がそのスライスの割当てに近づいた分、スライスが塗りつぶされます。通常、ファンネル・グラフには、時間などのステージ値に対する実績値と目標値が必要です。たとえば、このコンポーネントを使用して、プロセス(販売ルートなど)がステージ(会計年度の四半期)の目標に達するかどうかを確認します。

  • 折れ線グラフ(lineGraph): データが線、一連のデータ・ポイントまたは線で結ばれたデータ・ポイントとして表されるグラフを作成します。折れ線グラフには、グループ内のメンバーごとに最低2つのポイントを表すデータが必要です。たとえば、月ごとの折れ線グラフには最低2か月必要です。通常、特定の色の線は、アメリカ、ヨーロッパ、アジアなどのデータの各グループに関連付けられています。同一期間の項目の比較に使用します。

  • パレート・グラフ(paretoGraph): データが棒と棒の累積割合を示すパーセンテージ線で表されるグラフを作成します。各棒は、交通事故の原因など、異なる不具合の原因を表します。棒は、発生件数の多いものから少ないものの順に並べられます。パレート・グラフは常に二重Yグラフで、1つ目のY軸は棒が表す値に対応し、2つ目のY軸は0%から100%を表し、累積割合の値に対応します。パレート・グラフを使用して、不具合の原因を特定し、比較します。

  • 円グラフ(pieGraph): 1つのグループのデータが円のセクションとして表され、円が切り分けられたパイのように見えるグラフを作成します。各製品ラインからの収益など、全体に対する各部分の関係の表示に使用します。

  • レーダー・グラフ(radarGraph): 円状の折れ線グラフとして表されるグラフを作成します。過去3年間の月ごとの売上げなどの周期的に起こるパターンを表す場合に使用します。

  • 散布図/極グラフ(scatterGraph): データが、データ・マーカーの位置によって表されるグラフを作成します。散布図を使用して、上位製品の売上げとコストなど、異なる2種類のデータの相関関係を表す場合に使用します。散布図は、多数の項目間の全体的な関連性を示す場合に特に有用です。

  • スパークチャート(sparkChart): 傾向や変化を多くの場合、表の列内やテキスト行中で表す簡単な縮小グラフを作成します。スパークチャートは、限られた機能やフォーマット・オプションで、できるだけ多くのデータを表示する簡単なデザインです。

  • 株価チャート(stockGraph): データが株の高値、安値および終値を示すグラフを作成します。各株価マーカーで3つの異なる値を表示します。

図21-1に、次のものが表示されているアプリケーション・ダッシュボードを示します。

  • 棒グラフ

  • スライスの切離しを使用した円グラフ

図21-1 棒グラフおよび円グラフが表示されているダッシュボード

棒グラフおよび円グラフが表示されているダッシュボード

図21-2に、左上から時計回りに次のものが表示されているアプリケーション・ダッシュボードを示します。

  • 時間セレクタ・ウィンドウを持つ平滑線グラフ

  • 3D効果とスライスの切離しを使用した円グラフ

  • 3D効果を使用した棒グラフ

図21-2 折れ線グラフ、円グラフおよび棒グラフが表示されているダッシュボード

折れ線グラフ、円グラフおよび棒グラフが表示されているダッシュボード

図21-3に、表の列で売上げ傾向を表示する折れ線スパークチャートを示します。

図21-3 売上げ傾向のスパークチャート

売上げ傾向を示すスパークチャート

その他のユースケースおよび例などの詳細は、第22章「グラフ・コンポーネントの使用方法」を参照してください。

21.1.2 ゲージ・コンポーネントのユースケースおよび例

ゲージ(gauge)・コンポーネントでは、データのグラフィカル表現をレンダリングします。グラフとは異なり、ゲージでは1つのデータ・ポイントにフォーカスして、そのポイントを最小、最大およびしきい値インジケータと比較して調べ、問題のある領域を特定します。

1つのゲージ・コンポーネントでは、使用されるデータに応じて、1つのゲージまたはゲージ・セットを作成できます。

このコンポーネントでは次の種類のゲージを作成できます。

  • ダイアル・ゲージ: 180度の弧に沿ってメトリック値を示すゲージを作成します。このタイプのゲージには、通常、ゲージがプロットしている値を指す、線または矢印の形のインジケータがあります。

  • ステータス・メーター・ゲージ:横長の矩形のバーに沿ってタスクの進度または測定値のレベルを示すゲージを作成します。内側の矩形は、外側の矩形に表示された範囲に対する現在の測定値のレベルを示します。

  • ステータス・メーター・ゲージ(垂直):縦長の矩形のバーに沿ってタスクの進度または測定値のレベルを示すゲージを作成します。

  • LED(電光表示)ゲージ:重要業績評価指標(KPI)などの測定値をグラフィカルに表すゲージを作成します。LEDゲージには、よい(上矢印)、普通(左または右矢印)、悪い(下矢印)を示す矢印など、数種のグラフィクスが使用できます。

ゲージのしきい値はいくつでも指定できます。ただし、一部のLEDゲージ(矢印または三角形のインジケータを持つものなど)では、指し示す有効な方向の数が限られているため、サポートされるしきい値の数にかぎりがあります。矢印または三角形のインジケータの場合、しきい値の最大数は3です。

図21-4に、倉庫の在庫レベルを表示する、しきい値付きダイアル・ゲージのセットを示します。

図21-4 しきい値付きダイアル・ゲージ・セット

しきい値付きダイアル・ゲージ・セット

図21-5に、しきい値付きステータス・メーター・ゲージのセットを示します。

図21-5 しきい値付きステータス・メーター・ゲージ・セット

しきい値付きステータス・メーター・ゲージ・セット

その他のユースケースおよび例などの詳細は、第23章「ゲージ・コンポーネントの使用方法」を参照してください。

21.1.3 ピボット・テーブルのユースケースおよび例

ピボット・テーブル(pivotTable)では、行または列での複数層のデータ・ラベルをサポートするグリッドを作成します。オプションのピボット・フィルタ・バー(pivotFilterBar)をピボット・テーブルと関連付けることで、行または列のエッジで表示されないデータをフィルタ処理できます。行セットなどの適切なデータ・コントロールにバインドされている場合、このコンポーネントでは、グリッド・データの小計と合計を生成するオプションや、実行時のドリル操作もサポートされます。

ピボット・テーブルでは、あるエッジ(行または列)またはピボット・フィルタ・バー(ページ・エッジ)から別のエッジにデータ・ラベルを切り替え、データの表示を変えることができます。たとえば、ピボット・テーブルで最初は、地域内の製品の合計売上げデータを行エッジに表示し、列エッジで年ごとに分類しているとします。実行時に地域と年を切り替えると、数年間の製品の合計売上げデータが、地域ごとに分類されて表示されます。

ピボット・テーブルでは、横方向と縦方向のスクロール、ヘッダーとセルの書式設定およびドラッグ・アンド・ドロップ・ピボットがサポートされています。ピボット・テーブルでは、実行時の行の昇順および降順のグループ・ソートもサポートされます。図21-6に、ピボット・フィルタ・バーのあるピボット・テーブルの例を示します。

図21-6 ピボット・フィルタ・バーのあるピボット・テーブル

ピボット・フィルタ・バーのあるピボット・テーブル。

その他のユースケースおよび例などの詳細は、第24章「ピボット・テーブル・コンポーネントの使用方法」を参照してください。

21.1.4 地理マップのユースケースおよび例

地理マップ(map)では、ADFフレームワークにOracle Spatialの機能が提供されます。このコンポーネントでは、ビジネス・データをマップ上に表し、1つのマップ上に複数層の情報を重ね合せることができます。このコンポーネントでは、色テーマ、グラフ・テーマ(棒または円グラフ)および点テーマの同時表示がサポートされます。各タイプのテーマはいくつでも作成でき、マップ・ツールバーを使用して、実行時にテーマを選択できます。

地理マップの例として、各州での製品の人気を色の濃さで示す色テーマ、倉庫の在庫レベルを示す円グラフ・テーマおよび各倉庫の正確な位置を示す点テーマを使用した、アメリカの基準となるマップを考えてみます。この3つの全テーマをアメリカ合衆国の地図に重ね合せると、特定の地域で商品の人気度に応じた十分な在庫があるかどうかを簡単に評価できます。図21-7に、色テーマ、円グラフ・テーマおよび点テーマを使用した地理マップを示します。

図21-7 色テーマ、円グラフ・テーマおよび点テーマを使用した地理マップ

製品の地理マップ

その他のユースケースおよび例などの詳細は、第25章「マップ・コンポーネントの使用方法」を参照してください。

21.1.5 テーマ・マップ・コンポーネントのユースケースおよび例

テーマ・マップ(thematicMap)コンポーネントでは、ビジネス・データを定型化された地域内のパターンまたは関連付けられたマーカーとして表し、マップ・ビューア・サービスへの接続は必要ありません。テーマ・マップでは、地理マップでの地理的な詳細なしで、データに焦点を合せます。テーマ・マップは、米国、世界をはじめ、世界の大陸や地域(EMEAやAPACなど)などのあらかじめ作成された基準となるマップとともにパッケージ化されています。テーマ・マップ・コンポーネントでは、基準となるマップを表示するためのマップ・サービスは必要ありません。

たとえば、米国の基準となるマップを州のマップ・レイヤーとともに使用すれば、特定ブランドのソフト・ドリンクに対する各州の好みを図21-8のように色で表示できます。例では、データにバインドされた凡例および定型化された地域に関連付けられたラベルなど、テーマ・マップのデフォルトの機能を示しています。

図21-8 地域ごとに製品の好みを表示するテーマ・マップ

定型化された地域ごとに製品の好みを表示するテーマ・マップ。

その他のユースケースおよび例などの詳細は、第25章「マップ・コンポーネントの使用方法」を参照してください。

21.1.6 ガント・チャート・コンポーネントのユースケースおよび例

ガント・チャートは(横軸を時間とする)横棒グラフの一種で、リソースまたはタスクが、開始と終了が明確なタイム・フレームに示され、プロジェクトの計画や進捗管理に使用されます。

ガント・チャートは、2つのADFのツリー表とスプリッタの組合せで構成されます。左側の表にはタスクまたはリソースのリストが含まれ、右側の表は1つの列で構成され、特定期間の進捗がグラフ表示されます。

3種類のガント・コンポーネントがあります。

  • プロジェクト・ガント(projectGantt): タスクを縦に示し、横方向の時間軸にタスクの期間を棒で示すガント・チャートを作成します。

  • リソース使用率ガント(resourceUtilizationGantt): リソースが割当てを上回っているか下回っているかをグラフィカルに示すガント・チャートを作成します。リソースを縦に示し、横方向の時間軸にその割当てとキャパシティ(オプション)を示します。

  • スケジュール・ガント(schedulingGantt): リソース管理を示し、手動のスケジュール表をベースにしたガント・チャートを作成します。リソースを縦方向に、対応するアクティビティを横方向の時間軸に表示します。

図21-9 に、スタッフ・リソースとスケジュールを表示したプロジェクト・ガントを示します。

図21-9 プロジェクト・ガント

スタッフ割当てのプロジェクト・ガント

その他のユースケースおよび例などの詳細は、第26章「ガント・チャート・コンポーネントの使用方法」を参照してください。

21.1.7 階層ビューア・コンポーネントのユースケースおよび例

階層ビューア(hierarchyViewer)は、階層データが図中のリンクされたノードのセットとして表示されるコンポーネントです。ノードおよびリンクは、データの要素および関係に対応します。このコンポーネントでは、パンおよびズーム操作、ノードの展開および縮小、ノード内での簡単なADF Facesコンポーネントのレンダリング、そして階層ビューア・データの検索がサポートされています。階層ビューアの一般的な用途は、図21-10に示すような組織図を表示することです。

図21-10 階層ビューアによる組織図

階層ビューアによる組織図。

その他のユースケースおよび例などの詳細は、第27章「階層ビューア・コンポーネントの使用方法」を参照してください。

21.1.8 データ視覚化コンポーネントの追加機能

データ視覚化コンポーネントをデータ・バインドする前に、その他のADF Faces機能を理解しておくと役に立ちます。また、いったんデータ視覚化コンポーネントをページに追加すると、検証やアクセシビリティなどの機能を追加する必要があることに気付く場合があります。データ視覚化コンポーネントで使用されるその他の機能へのリンクは、次のとおりです。

  • 部分ページ・レンダリング: 他のコンポーネントで実行されたアクションに基づく新しいデータをページ上に表示するために、DVTコンポーネントをリフレッシュできます。詳細は、第8章「部分ページ・コンテンツの再レンダリング」を参照してください。

  • パーソナライズ: ユーザーは実行時にDVTコンポーネントの表示を変更できますが、ユーザーがカスタマイズできるようにアプリケーションを構成していないかぎり、ユーザーがページを終了するとそれらの値は保持されません。詳細は、第32章「JSFページでのユーザー・カスタマイズの許可」を参照してください。

  • アクセシビリティ: DVTコンポーネントをアクセス可能にできます。詳細は、第30章「アクセス可能なADF Facesページの開発」を参照してください。

  • スキンおよびスタイル: アプリケーションに適用するADFスキンを使用するか、スタイル関連のプロパティ(styleClassまたはinlineStyle)を使用してCSSスタイル・プロパティを直接適用することにより、DVTコンポーネントの外観をカスタマイズできます。詳細は、第28章「スタイルおよびスキンを使用した外観のカスタマイズ」を参照してください。

  • プレースホルダ・データ・コントロール: 最終的にページのDVTコンポーネントでADFデータ・バインディングが使用されることがわかっていても、データ・コントロールの準備ができる前にページを開発する必要がある場合、手動でコンポーネントをバインドするのではなく、プレースホルダ・データ・コントロールの使用を検討します。プレースホルダ・データ・コントロールを使用すると、開発済データ・コントロールを使用した場合と同じ宣言的な開発が行われます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「プレースホルダ・データ・コントロールを使用したページの設計」の章を参照してください。

21.2 データ視覚化コンポーネントの共通機能

データ視覚化コンポーネントでは、データの配信方法、自動部分ページ・レンダリング(PPR)、コンポーネントを表示するために使用されるイメージ・フォーマット、そしてデータの表示および編集方法など、同じ機能の大部分が共有されています。これらのコンポーネントを使用する前に、この共有機能と、その構成方法を理解することが重要です。

21.2.1 コンテンツの配信

グラフ、ゲージ、ピボット・テーブル、ガント・チャート、テーマ・マップおよび階層ビューアを含むデータ視覚化コンポーネントは、データ・ソースからのデータ配信方法について構成できます。データは、レンダリング直後、データが使用可能になり次第、またはコンポーネントのシェルがレンダリングされた後の遅延フェッチのいずれかで、コンポーネントに配信できます。デフォルトでは、地理マップを除くすべてのデータ視覚化コンポーネントで、コンテンツが使用可能なときにデータ・ソースから配信されるようになっています。これらのコンポーネントのcontentDelivery属性は、デフォルトでwhenAvailableに設定されています。

ガント・チャート、ピボット・テーブルおよび階層ビューアなど、ツリーまたはツリー表モデルに基づくデータ視覚化コンポーネントは仮想化されており、サーバーでコンポーネント用に存在するすべての行、列またはレベルが、クライアントに配信されて表示されるわけではありません。これらのコンポーネントを構成して、一定の数の行、列またはレベルを一度にデータ・ソースからフェッチします。次の属性を使用して、フェッチ・サイズを構成します。

  • ピボット・テーブル:

    • rowFetchSize: 1データ・フェッチ・ブロック内の行数を指定します。デフォルト値は25です。

    • columnFetchSize: 1データ・フェッチ・ブロック内の列数を指定します。デフォルト値は10です。

  • 階層ビューア:

    • levelFetchSize: 展開された親ノードごとに、一度にフェッチされて表示される子ノードの数を指定します。階層ビューアに表示される横方向のナビゲーション・コントロールを使用すれば、追加の子ノードをフェッチし、表示できます。デフォルト値は25です。

  • ガント・チャート:

    • fetchSize: データ・フェッチ・ブロックの行数を指定します。デフォルト値は25です。

    • horizontalFetchSize: データがフェッチされる水平データ・ウィンドウのサイズをピクセル数で指定します。このデータ・ウィンドウ内のタスク・バーのみがレンダリングされます。垂直方向への仮想化を実現するfetchSizeとは対照的に、horizontalFetchSizeは水平方向への仮想化を実現します。

遅延配信の場合、ページにこれらのコンポーネントが1つ以上含まれると、そのページでは最初は標準のライフサイクルが実行されます。ただし、最初のリクエスト時にデータがフェッチされるのではなく、特別な個別の部分ページ・レンダリング(PPR)リクエストが実行され、コンポーネントのフェッチ・サイズの値が返されますページのレンダリング直後であるため、レンダー・レスポンス・フェーズのみがコンポーネントに対して実行され、対応するデータのフェッチおよび表示が可能になります。ユーザーのアクションにより後続のデータ・フェッチが実行される場合(別の行セットのためにピボット・テーブル・グリッド内をスクロールするなど)、別のPPRリクエストが実行されます。

コンテンツが使用可能なときに配信されるようにコンテンツ配信を構成すると、フレームワークでは最初のリクエストの間にデータの可用性をチェックし、使用可能であれば、そのデータがコンポーネントに送信されます。使用可能でない場合、データは遅延配信と同じように、別のPPRリクエスト時にロードされます。


パフォーマンスのヒント:

遅延配信は、データ・フェッチがコストの高い(低速な)操作と予想される場合、たとえば低速で待機時間の長いデータベース接続や、Webサービスなどの低速な非データベース・ソースからのデータのフェッチなどに使用する必要があります。ページにデータ視覚化コンポーネント以外のコンポーネントが多数含まれている場合にも、遅延配信を使用します。遅延配信を使用すると、データが使用可能になる前に、初期ページのレイアウト・コンポーネントおよびその他のコンポーネントが最初にレンダリングされます。

ページではデータ視覚化コンポーネントが唯一のコンテキストである場合、あるいはコンポーネントから大量のデータが返される見込みがない場合は、即時配信を使用します。この場合、ユーザー・レスポンス時間がより高速で、サーバーCPU利用率がより高ければ、2番目のリクエストはサーバーに移動しないため、レスポンス時間は遅延配信を使用する場合よりも高速になります(または、場合によっては高速に感じます)。ツリーまたはツリー表モデルに基づくコンポーネントの場合、フェッチ・ブロックとして構成された値のみが最初に返されます。遅延配信と同様に、ユーザーのアクションが後続のデータ・フェッチの原因となる場合は、次の行セットが配信されます。

whenAvailable配信では、最初のレンダリング中にデータが使用可能な場合は即時配信を使用し、データが最初に使用可能でない場合には遅延配信に頼るという柔軟性が高まります。


ツリーまたはツリー表に基づくコンポーネントのフェッチ・サイズの設定の詳細は、21.2.1項「コンテンツ配信」を参照してください。

21.2.2 自動部分ページ・レンダリング(PPR)

ADF Facesでは部分ページ・レンダリング(PPR)がサポートされており、ページ上で特定のコンポーネントをレンダリングでき、ページ全体をレンダリングする必要がありません。組込みのPPR機能に加えて、1つのコンポーネントがトリガーとして機能し、別のコンポーネントがリスナーとして機能するように依存関係を設定できるクロスコンポーネント・レンダリングを使用するように、コンポーネントを構成できます。詳細は、8.1項「部分ページ・レンダリングについて」を参照してください。

デフォルトでは、ADFデータ視覚化コンポーネントで自動PPRがサポートされ、バックエンド・ビジネス・ロジックの結果として値が変更されるコンポーネントが自動的に再レンダリングされます。アプリケーションでFusionテクノロジ・スタックを使用する場合、任意のページで自動部分ページ・レンダリング機能を有効にできます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の部分ページ・レンダリングおよびイテレータ・バインディングに関する項を参照してください。

21.2.3 グラフおよびゲージ・コンポーネント用埋込みフォント

グラフおよびゲージ・コンポーネントでは、Flashイメージ・タイプを使用してテキストの回転、忠実度の高い表示およびフォントの埋込みを行えます。Flashエンジンは、チャートのXML定義を使用したグラフまたはゲージの表示に使用される、コンパイル済のActionScriptコードを含む事前作成のShockwave Flash(SWF)ファイルです。Flashエンジンはダウンロードして、クライアント・ブラウザに組み込まれているFlash Playerで実行時にインスタンス化します。

埋込みフォントは、表示および印刷に使用され、クライアントにはインストールされず、編集できません。メモリー内でFlash Playerによって使用され、プレーヤの終了時に消去されます。埋込みフォントでは、フォントSWFファイルをダウンロードするために、サーバーとの間のラウンドトリップが必要になりますが、すべてのクライアントで同じ外観が得られ、テキストの回転がサポートされ、ゆがみまたはアンチエイリアス処理が最小限になります。

Oracleでは、Flashイメージでの使用に必要な場合に1つのフォント、Albany WTが用意されています。このフォントには、太字やイタリックのような標準以外のバリエーションはありません。Albany WTフォントは、Flashでかわりに使用する独自の埋込みフォントが指定も用意もされていない場合、Flashのデバイス・フォントでサポートされない一部のアニメーションに対応するために、デフォルト・フォントのかわりに使用されます。

特定のフォントと各SWFファイルは、Flashエンジンに渡される埋込みフォントとしてアプリケーションに追加できます。リストに指定されたフォントがグラフまたはゲージの定義内のテキストまたはラベルで必要になるときまでに、エンジンによってそのフォントが遅延ロードされます。例21-1では、太字とイタリックを組み合せたGeorgiaフォントを定義します。

例21-1 SWFファイル

package
{
  import.flash.display.Sprite;
  import.flash.text.Font;
public class fGeorgiaBoldItalic extends Srite
        (
  [Embed (source="c:\\WINDOWS\\Fonts\\GEORGIABI.TTF",  
    fontName="Georgia Bold Italic",
    fontWeight="Bold",
    fontStyle="Italic".
    mimType="application/x-font-truetype")]
  private statis car font1:Class;
  public function fGeorgiaBoldItalic() {
    Font registerFont(font1);
}
  }
}

グラフおよびゲージの埋込みフォント属性は次のように設定できます。

  • flashDefaultFontLoading: デフォルト・フォントを中間層からFLASHにロードするかどうかを指定します。有効な値は次のとおりです。

    • FLASH_DEFAULT_FONT_LOADING_ALL: デフォルト値。埋込みフォントの使用を指定します。正しいフォントが指定され、システムで確実に使用できるようにするのは、アプリケーションの役割です。

    • FLASH_DEFAULT_FONT_LOADING_NONE: 埋込みフォントを使用しないことを指定します。

  • fontURLMap: ゲージ・コンポーネント用に使用します。フォント名とフォントSWFファイルのURLのマッピングをjava.util.Mapオブジェクトの形式で指定します。このマップでは、キーとしてフォント名が指定され、値としてフォントのURLが指定されている必要があります。

21.2.4 グラフおよびゲージのコンテキスト・メニュー

コンテキスト・メニューは、次のコンテキスト・メニュー・ファセットを使用して、グラフおよびゲージ・コンポーネント用に定義できます。

  • bodyContextMenu: コンポーネント内の選択不可能な要素で表示されるコンテキスト・メニューを指定します。

  • contextMenu: コンポーネント内の選択可能要素で表示されるコンテキスト・メニューを指定します。

  • multiSelectContextMenu: コンポーネント内で複数の要素が選択されるときに表示されるコンテキスト・メニューを指定します。

各ファセットでは、1つの子コンポーネントがサポートされます。これらのファセットすべてを機能させるには、特定のグラフやゲージのタイプ用に選択を可能にし、サポートされるようにする必要があります。コンテキスト・メニューは、現在のところFlashでのみサポートされています。

技術的な制限のために、Flashのレンダリング形式の使用時には、現在のところコンテキスト・メニューのコンテンツはFlash Playerのコンテキスト・メニューを使用して表示されます。このため、Flash Playerにより定義されたいくつかの制限があります。

  • Flashでは、コンテキスト・メニューのサブメニューは使用できません。

  • Flashでは、カスタム・メニュー項目は15に制限されます。コンポーネントの組込みメニュー項目(円グラフのinteractiveSliceBehaviorメニュー項目など)は、制限に考慮されます。

  • Flashでは、メニュー項目がテキストのみに制限されます。ADF Facesメニューで使用可能なアイコンまたはその他のコントロールは、Flashのメニューでは使用できません。

  • 各メニュー・キャプションには、最低1つの目に見える文字が含まれている必要があります。制御文字、改行文字およびその他の空白文字は無視されます。キャプションは100文字以内です。

  • 別のカスタム項目と同一のメニュー・キャプションは、一致する項目が表示されようとされなかろうと無視されます。メニュー・キャプションは、組込みキャプションまたは既存のカスタム・キャプションと、大文字か小文字か、句読点または空白に関係なく比較されます。

  • 単語はカスタム・キャプションを形成するために他の単語とともに使用できますが、次のキャプションは使用でません: 保存ズーム・インズーム・アウト100%すべて表示l品質再生ループ巻戻し進む戻るロードされない映画バージョン情報印刷再描画リージョンの表示デバッガ元に戻す切取りコピー貼付け削除すべて選択開く新規ウィンドウで開くおよびリンクのコピー

  • 次の単語は、単独または他の単語とともにカスタム・キャプションで表示できません: AdobeMacromediaFlash Playerまたは設定

さらに、Flashからのコンテキスト・メニュー項目のリクエストは同期コールであるため、コンテキスト・メニューの呼出し時には、ELを評価するサーバー・リクエストは不可能です。選択したオブジェクトによって変わるコンテキスト・メニューを提供するために、コンテキスト・メニューのポップアップでcontentDelivery="lazyUncached"設定が使用される場合は、メニューが事前にフェッチされます。状況により変化するコンテキスト・メニューの場合、これはメニュー定義内のEL式が、異なる選択や通貨の状況により、レンダリング時に繰り返しコールされることを意味します。事前にフェッチされるこれらのコンテキスト・メニューの使用時には、アプリケーションで次のことが認識されている必要があります。

  • コンテキスト・メニューをどのように表示するかを定義するために使用されるEL式では、長時間かかるまたは遅いコードは実行されません。これは、actionListenerなど、メニュー項目が選択された後にコールされるaf:commandMenuItem属性には当てはまりません。

  • 将来、Flashの制限が解決されれば、Flashのコンテキスト・メニューのかわりにADFのコンテキスト・メニューが表示される可能性があります。アップグレードの互換性を確実にするには、メニューが事前フェッチされる場合、またメニューの呼出し時にEL式が評価される場合のどちらでも、EL式が機能するようなコードを作成する必要があります。アプリケーションが依存するコンポーネント状態をselectioncurrencyに限ることをお薦めします。

21.2.5 スクリーン・リーダーのサポート

すべてのデータ視覚化コンポーネントでは、そのコンポーネントについての説明文をサポートする属性が用意されています。スクリーン・リーダー・モードをサポートするには、そのコンポーネントの適切な属性を設定する必要があります。データ視覚化コンポーネントの次の属性を設定します。

  • shortDesc属性: すべてのグラフおよびゲージ・コンポーネントに使用します。

  • summary属性: ピボット・テーブル、ガント・チャート、地理およびテーマ・マップおよび階層ビューアの各コンポーネントに使用します。

21.2.6 アプリケーション・リソース・バンドルのテキスト・リソース

JDeveloperは、抽象クラスjava.util.ResourceBundleを使用してロケール固有のリソースを提供し、ADF Facesおよびデータ視覚化コンポーネントをローカライズしやすいようにサポートします。

データ視覚化コンポーネントには、コンポーネントの一部であるテキストが含まれている場合があり、たとえばaf:tableコンポーネントでは、データの初期ロード中にaf:tableコンポーネントがデータをフェッチしている間、あるいはユーザーが表をスクロールしている間に、リソース文字列af_table.LABEL_FETCHINGが、ブラウザで表示されるメッセージ・テキストに使用されます。JDeveloperでは、これらのテキスト・リソースを28言語に自動的に変換します。これらのテキスト・リソースは、リソース・バンドルで参照されます。イタリア語を使用するようにブラウザを設定した場合、コンポーネント内に含まれるテキストはすべて自動的にイタリア語で表示されます。

text属性を子のgraphTitleコンポーネントで設定して、pieGraphコンポーネントのタイトルを定義する場合など、コンポーネントに追加するテキストには、実際のテキストが含まれているリソース・バンドルを指定して、各ロケール版のリソース・バンドルを作成し、<locale-config>要素を追加して、アプリケーションのfaces-config.xmlファイルにデフォルトおよびサポートされるロケールを定義する必要があります。また、アプリケーションのすべてのページでリソース・バンドルを使用できるようにするには、アプリケーションのfaces-config.xmlファイルに<resource-bundle>要素を追加する必要があります。リソース・バンドルを構成および登録すると、式言語(EL)エディタによりバンドルのキーが表示され、アプリケーション・ページでのバンドルの参照が簡単になります。

ADFコンポーネントに追加するテキストのテキスト・リソースを作成するプロセスを簡略化するために、JDeveloperでは、ビジュアル・エディタの変換可能な文字列に関する、リソース・バンドルの自動同期がサポートされています。ビジュアル・エディタまたはプロパティ・インスペクタで直接コンポーネントを編集すると、ベース・リソース・バンドルにテキスト・リソースが自動的に作成されます。詳細は、29.2項「JDeveloperにおける自動リソース・バンドル統合の使用方法」を参照してください。


注意:

データベースから取得されたテキストは変換されません。


タイトルおよびラベルの子コンポーネントのあるデータ視覚化コンポーネントの場合、属性ドロップダウン・リストを使用して「テキスト・リソースの選択」ダイアログを開き、アプリケーション・リソース・バンドルから変換可能な文字列を選択または追加することにより、テキスト・リソースを作成し、リソース・バンドルに追加することもできます。または、「式ビルダー」を選択して、式言語(EL)エディタを開き、実行時にタイトルまたはラベルのために実行される式を作成することができます。

21.3 ADFデータ視覚化コンポーネントへのデータの指定

JDeveloperでは、UI優先開発を使用して任意のデータ視覚化コンポーネントをJSFページに追加し、後からADFデータ・コントロールまたはマネージドBeanを使用して、表示するデータを手動でバインドできます。この場合、コンポーネント・パレットからドラッグすることで、コンポーネントがページに追加され、プロパティ・インスペクタを使用して、データを手動でバインドします。

または、データ優先開発を使用すれば、データ・バインディングを処理するADFデータ・コントロールを使用してコンポーネントを作成できます。この場合、「データ・コントロール」パネルからドラッグし、データの表示を構成するためのデータ・バインディング・ダイアログでの指定を完了することにより、コンポーネントがページに追加されます。

たとえば、簡単なUI優先開発を使用してページを設計しているときには、コンポーネント・パレットを使用してグラフをJSFページに追加します。ページにグラフ・コンポーネントをドラッグ・アンド・ドロップすると、コンポーネント・ギャラリに使用可能なグラフ・タイプのカテゴリが説明とともに表示され、グラフの作成時に視覚的に支援します。グラフのタイトルおよび凡例のクイックスタート・レイアウトも指定できます。図21-11に、コンポーネント・パレットから円グラフを作成中に表示されるコンポーネント・ギャラリを示します。

図21-11 コンポーネント・パレットから作成する円グラフのコンポーネント・ギャラリ

コンポーネント・パレットから作成する円グラフのコンポーネント・ギャラリ。

UI優先開発を使用したデータ視覚化コンポーネントの作成、コンポーネント・データ要件の理解、DVT親コンポーネントおよび子コンポーネントの構成、コンポーネントの外観のカスタマイズ、およびコンポーネントへの特殊効果と双方向性の追加の詳細は、このマニュアルのこの部の次の章を参照してください。

データ・コントロール・パネルからデータ・コントロールをドラッグして、グラフの作成およびデータ・バインドもできます。コンポーネント・ギャラリには使用可能なグラフのカテゴリ、タイプおよび説明が表示され、グラフの設計およびクイック・レイアウトの定義が視覚的にサポートされます。図21-12に、データ・コントロールからの折れ線グラフ作成時に表示されるコンポーネント・ギャラリを示します。

図21-12 データ・コントロール・パネルから作成する折れ線グラフのコンポーネント・ギャラリ

データ・コントロール・パネルから作成する折れ線グラフのコンポーネント・ギャラリ。

図21-13に、データ・コレクション属性をグラフ・コンポーネントにバンドするために使用する「折れ線グラフの作成」ダイアログを示します。

図21-13 「折れ線グラフの作成」データ・バインディング・ダイアログ

「折れ線グラフの作成」データ・バインディング・ダイアログ

すべてのデータ視覚化コンポーネントは、ADFデータ・コントロールのデータ・コレクションにバインドできます。データ・コントロールへのこれらのコンポーネントのデータ・バインドの詳細および例は、次の参照先を参照してください。