プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle ADFスキンの開発
12c (12.2.1.2.0)
E82919-01
目次へ移動
目次

前
前へ
次
次へ

10 スタイル・クラスの使用

この章では、スタイル・クラスの使用方法について説明します。スタイル・クラスの作成、変更および適用方法に関する情報を提供し、コンポーネントの特定のインスタンスにスタイル・クラスを設定する方法について説明します。

この章の内容は次のとおりです。

10.1 スタイル・クラスについて

スタイル・クラスを使用すると、ADF FacesまたはADFデータ視覚化コンポーネントの特定のインスタンスに適用するADFスキンの1つの場所で、数多くのスタイル・プロパティを指定できます。スタイル・クラスに対して定義するスタイル・プロパティは、コンポーネントのセレクタに対して定義するスタイル・プロパティよりも優先されます。アプリケーション開発者は、数多くのADF Facesコンポーネントによって公開されるstyleClassおよびinlineStyle属性の値としてスタイル・クラスを指定できます。実行時には、ADFスキンに定義されている他のスタイル・プロパティではなく、スタイル・クラスで定義したスタイル・プロパティがADF Facesコンポーネントに適用されます。スタイル・クラスは、複数のADF Facesコンポーネントに適用するスタイル・プロパティを定義できるグローバル・セレクタ別名(「グローバル・セレクタ別名の使用」を参照)とは異なります。

図10-1に、スタイル・クラスの様々なカテゴリのノードが展開されたADFスキンを示します。

図10-1 スタイル・クラスのカテゴリ

この図は周囲のテキストで説明しています

スタイル・クラスの各カテゴリは次の意味を持ちます。

  • その他: 拡張ADFスキンから継承されたその他のスタイル・クラス。たとえば、このカテゴリにはブランド・バーのコンテナに使用できる.AFBrandingBarが含まれます。

  • ノート・ウィンドウ・セレクタ: noteWindowコンポーネントに影響を及ぼす、拡張ADFスキンから継承されたスタイル・クラス。

  • ポップアップ: popupコンポーネントに影響を及ぼす、拡張ADFスキンから継承されたスタイル・クラス。

  • テキスト: 様々なタイプのテキスト(たとえば、アドレス・フィールドや指示テキストなど)の外観を決定する、拡張ADFスキンから継承されたスタイル・クラス。

ユーザーまたは他のユーザーが定義するスタイル・クラスは、図10-1.UserDefinedスタイル・クラスのエントリで示されているようにスタイル・クラス・ノードの下に表示されます。Oracle ADFが用意しているADFスキンのスタイル・クラスの詳細な説明は、Oracle ADF Facesスキン・セレクタ・タグ・リファレンスを参照してください。

10.2 スタイル・クラスの作成

ADFスキンに新しいスタイル・クラスを作成することも、ADFスキンが拡張元ADFスキンから継承したスタイル・クラスをオーバーライドすることもできます。

スタイル・クラスを作成した後、含めるスタイル・プロパティを定義するように変更します。詳細は、「スタイル・クラスの変更」を参照してください。

10.2.1 スタイル・クラスの作成方法

アプリケーション開発者がコンポーネントのstyleClassまたはinlineStyle属性を使用してADF FacesまたはADFデータ視覚化コンポーネントに適用するスタイル・プロパティを定義するスタイル・クラスを作成できます。

スタイル・クラスを作成するには、次のようにします。

  1. 図10-2に示すように、セレクタ・ツリーのセレクタ・エディタで、ドロップダウン・リストから「新規スタイル・クラス」を選択します。

    図10-2 セレクタ・ツリーの「新規スタイル・クラス」オプション

    この図は周囲のテキストで説明しています

    「スタイル・クラスの作成」ダイアログが開きます。

  2. 適切なオプションを選択します。
    • ADFスキンの拡張元ADFスキンからスタイル・プロパティを継承しない新規スタイル・クラスを作成する場合は、新しい名前を入力します。

      ヒント:

      そのスタイル・クラスが果たす目的を示す名前を入力します。

    • ADFスキンの拡張元ADFスキンからスタイル・プロパティを継承し、ADFスキンのスタイル・プロパティをオーバーライドするスタイル・クラスの名前を入力します。

  3. 「OK」をクリックします。

10.2.2 スタイル・クラスを作成した場合の処理

図10-3に示すように、スタイル・クラスはセレクタ・ツリーのスタイル・クラス・ノードの下に表示され、コンポーネントに適用されるビジュアル表示はプレビュー・ペインに表示されます。

図10-3 新規に作成されたスタイル・クラス

この図は周囲のテキストで説明しています

作成したスタイル・クラスのCSS構文は、ADFスキンのソース・ファイルに表示されます。次の例に、図10-3のADFスキンのソース・ファイルに表示されるエントリを示します。

.OrderOverdue
{
}

10.3 スタイル・クラスの変更

スタイル・クラスを変更するプロセスは、セレクタ・エディタに表示される様々なカテゴリのスタイル・クラスで同じです。セレクタ・ツリーでスタイル・クラスを選択し、プレビュー・ペインのメニューを使用してスタイル・クラスに擬似クラスを追加または削除するか、あるいは、「プロパティ」ウィンドウを使用してスタイル・クラスのスタイル・プロパティを設定またはオーバーライドします。

10.3.1 スタイル・クラスの変更方法

セレクタ・ツリーのスタイル・クラス・ノードの下のスタイル・クラスを選択し、「プロパティ」ウィンドウを使用してそのプロパティを変更します。

スタイル・クラスを変更するには、次のようにします。

  1. セレクタ・ツリーで、変更するスタイル・クラスにナビゲートします。
  2. 「プロパティ」ウィンドウで、スタイル・クラスに構成するプロパティを変更します。
  3. スタイル・クラスを変更した後にプレビュー・ペインを更新するには、「リフレッシュ」アイコンをクリックします。

10.4 コンポーネントの特定のインスタンスに対するスタイル・クラスの設定

コンポーネントの特定のインスタンスに適用するスタイル・プロパティを定義するスタイル・クラスを定義できます。たとえば、アプリケーション開発者がページ上のコンテンツを表示または非表示にするために使用するpanelBoxコンポーネントについて考察します。panelBoxコンポーネントの複数のインスタンスを1ページにレンダリングできます。図10-4に示すように、panelBoxコンポーネントのデフォルトの背景色をFuchsiaに決定します。

図10-4 panelBoxコンポーネントの背景色の設定

この図は周囲のテキストで説明しています

ただし、panelBoxコンポーネントの1つ以上のインスタンスを、エンド・ユーザーがコンポーネントのコンテンツを表示したり非表示にできる公開リンクのコントロールなしでレンダリングすることにしました。さらに、背景色を赤に設定してpanelBoxコンポーネントのこれらのインスタンスのテキストをレンダリングすることに決めました。このために、ADFスキンのスタイル・クラスのスタイル・プロパティを定義します。次に、これらのスタイル・プロパティを使用してレンダリングするpanelBoxコンポーネントのインスタンスごとにstyleClass属性の値としてスタイル・クラスを指定します。次の例に、前述の結果を得るためにADFスキンのソース・ファイルに表示される構文を示します。

.panelBoxInstanceClass af|panelBox::disclosure-link{display:none;}
.panelBoxInstanceClass af|panelBox::header-text {background-color: Red;}

注意:

コンポーネントの特定のインスタンスに作成したスタイル・クラスのADFスキン・プロパティを構成できません。ADFスキン・プロパティを使用すると、コンポーネントの特定のインスタンスではなくアプリケーション全体のコンポーネントのレンダリングをカスタマイズできます。ADFスキン・プロパティの詳細は、「ADFスキニング・フレームワークでのプロパティ」を参照してください。

10.4.1 コンポーネントの特定のインスタンスに対してスタイル・クラスを設定する方法

これらのスタイル・クラスを使用してレンダリングするコンポーネントのインスタンスごとに、styleClass属性の値としてスタイル・クラスを指定します。

コンポーネントの特定のインスタンスに対してスタイル・クラスを設定するには、次のようにします。

  1. 「スタイル・クラスの作成」の説明に従って、スタイル・クラスを作成します。
  2. JDeveloperで、コンポーネントのstyleClass属性をステップ1で作成したスタイル・クラスの名前に設定します。

    コンポーネントのstyleClass属性の設定の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のスタイル・クラスの設定方法に関する項を参照してください。

10.4.2 コンポーネントの特定のインスタンスに対してスタイル・クラスを設定した場合の処理

実行時に、スタイル・クラスを使用してインスタンス固有のスタイル・プロパティを指定しないコンポーネントのインスタンスは、コンポーネント固有セレクタおよびグローバル・セレクタ別名を使用してレンダリングされます。図10-5は、First Panel Boxラベルが付いたpanelBoxコンポーネントです。スタイル・クラスをstyleClass属性の値として指定するコンポーネントのインスタンスは、そのスタイル・クラスで指定されたスタイル・プロパティを使用してレンダリングされます。図10-5は、Second Panel Boxラベルが付いたpanelBoxコンポーネントです。

図10-5 スタイル・クラスで定義されたスタイル・プロパティによるコンポーネントのレンダリング

この図は周囲のテキストで説明しています