ルック・アンド・フィール構成ファイルの作成

ルック・アンド・フィール構成ファイルを作成するには、次のようにします。

  1. アプリケーション・ナビゲータで、ルック・アンド・フィール構成ファイルが含まれるプロジェクトを選択します。
  2. メイン・メニューから、「ファイル」->「新規」を選択して、「新規」ギャラリを表示します。「カテゴリ」ツリーで、「General」を開き、「XML」を選択します。「項目」リストで「XML文書」を選択し、「OK」をクリックします。
  3. 「XMLファイルの作成」ダイアログで、拡張子が.xmlのファイル名(たとえばmycompany-laf.xml)を入力し、「参照」をクリックしてWEB-INFディレクトリを選択します。ルック・アンド・フィール構成ファイルは通常はWEB-INFディレクトリにあります。ルック・アンド・フィール構成ファイルは、他のカスタム・リソースとあわせてJARファイルにパッケージ化することもできます。
  4. 「OK」をクリックします。

    コード・エディタに新しいXML文書が表示されます。

  5. http://xmlns.oracle.com/uix/ui/lafネームスペースを使用してルート要素<look-and-feel>を挿入します。ここで、次の属性を指定します。
  6. カスタム・レンダラを追加するには、次のようにします。
    1. <renderers></renderers>セクションを挿入し、次の属性を指定します。
      • facets: デフォルトでは、サポートされているすべてのファセットにカスタム・レンダラが登録されます。レンダラを登録しないファセットのみを指定するには、空白で区切られた1つ以上のファセット名のリストを使用します。サポートされているファセット名は、default、printable、portlet、emailです。
    2. <renderers>セクションで、<renderer>要素を使用して唯一のカスタム・レンダラを挿入し、次の属性と子要素の1つを指定します。
      • name属性: (必須)レンダラを登録するコンポーネントの修飾名(「ui:tabBar」や「tabBar」など)を指定します。ネームスペース接頭辞を指定しないと、コンポーネントはUIXユーザー・インタフェース・コンポーネント・ネームスペース(すなわち「http://xmlns.oracle.com/uix/ui」)に所属するとみなされます。ネームスペース接頭辞は、<look-and-feel>のxmlns:属性にバインドされます。
      • <class>要素: (Javaベースのレンダラのみ)登録するレンダラの完全修飾クラス名を表すname属性を指定します(たとえばorg.example.laf.custom.TabBarRenderer)。
      • <template>要素: (Javaベースのレンダラのみ)登録するUIX XMLテンプレートの名前を表すname属性を指定します。UIXでは、2通りの方法でテンプレート・ファイルを検出します。UIXは、まずServletContext.getResource()をコールし、コンテキスト・ルートを基準としてテンプレートを検索します。テンプレートが見つからない場合はClassLoader.getResource()をコールし、現行コンテキストclassLoaderを使用してテンプレートをロードします。この2番目の方法により、テンプレートをJARファイルにバンドルできます。
    3. ステップ6bを繰り返し、任意の数の<renderer>要素を追加します。
    4. ステップ6aと6bを繰り返し、必要に応じて<renderers>セクションを追加します。
  7. カスタム・アイコンを追加するには、次のようにします。
    1. <icons></icons>セクションを挿入します。
    2. <icons>セクションで、<icon>要素を使用して唯一のカスタム・アイコンを挿入し、次の属性と子アイコン要素の1つを指定します。
      • name属性: (必須)置き換えるアイコンの修飾名(「ui:error」や「error」など)を指定します。ネームスペース接頭辞を指定しないと、アイコンはUIXユーザー・インタフェース・コンポーネント・ネームスペース(「http://xmlns.oracle.com/uix/ui」)に所属すると見なされます。ネームスペース接頭辞は、<look-and-feel>のxmlns:属性にバインドされます。
      • <config-image>要素: images-directory構成プロパティで定義するURI(通常は/cabo/images/)を基準としたURIを使用してイメージ・アイコンを指定します。使用する属性の詳細は、ステップ7cを参照してください。
      • <context-image>要素: サーブレット・コンテキスト・パスを基準としたURIを使用してイメージ・アイコンを指定します。使用する属性の詳細は、ステップ7cを参照してください。
      • <resource-image>要素: ClassLoader.getResource()を使用してクラス・パスからロードするイメージ・アイコンを指定します。リソース・イメージ・アイコンをアプリケーションにインストールする必要はありません。リソース・イメージ・アイコンは、JARファイル内にパッケージ化し、クラス・パスから直接ロードすることができます。uri属性は、クラス・パスからロードできるイメージ・ファイルへのパスを指定します。使用する属性の詳細は、ステップ7cを参照してください。
      • <uri-image>要素: 完全URIを使用してイメージ・アイコンを指定します。使用する属性の詳細は、ステップ7cを参照してください。
      • <text>要素: 以下の属性を使用してテキストベースのアイコンを指定します。
        • styleClass : アイコンのテキストに適用するスタイル・クラスを指定します。
        • text: (必須)アイコンのテキストを入力します。
      • <null>要素: アイコンを表示しない場合はこの要素を使用します。
      • <instance>要素: 以下の属性を使用してJava Iconインスタンスを指定します。
        • class: (必須)Iconの完全Javaクラス名(staticメソッドを介してIconを提供するクラス)。
        • method: コールするstaticメソッドのフルネーム。設定されていない場合、UIXはまず「sharedInstance()」という名前のメソッドを探します。見つからない場合はデフォルト・コンストラクタをコールします。
    3. 次の属性は、<config-image>要素、<context-image>要素、<resource-image>要素および<uri-image>要素のみに使用します。
      • uri: (必須)アイコン・イメージのURIを指定します。
      • height: イメージ・アイコンの高さを指定します。
      • rtl-uri: 右から左用のアイコンのURIを指定します。右から左用のアイコンは、アラビア語やヘブライ語のように右から左に記述する言語に使用します。
        rtl-uri属性を指定しないと、uri属性の値は左から右と右から左の両方向に使用されます。
      • styleClass: アイコンのイメージに適用するスタイル・クラスを指定します。
      • width: イメージ・アイコンの幅を指定します。
    4. ステップ7bと7cを繰り返し、任意の数の<icon>要素を追加します。
  8. XMLファイルを検証します。コード・エディタを右クリックし、「XMLの検証」を選択します。検証エラーによってルック・アンド・フィールがUIXに登録されない場合は、そのエラーが報告されます。

注意: <renderers>セクションと<icons>セクションは、ルック・アンド・フィール構成ファイル内で必ずこの順序で指定します。

ルック・アンド・フィール構成文書で使用する前述の要素や他の要素の詳細は、「UIX要素リファレンス」「UIXルック・アンド・フィール」を参照してください。

次の例に、シンプル・ルック・アンド・フィールを拡張するカスタム・ルック・アンド・フィールを定義するルック・アンド・フィール構成ファイルを示します。


Example in XML:

<?xml version="1.0" encoding="windows-1252"?>

<look-and-feel xmlns="http://xmlns.oracle.com/uix/ui/laf"
               xmlns:ui="http://xmlns.oracle.com/uix/ui"
               id="mycompany.desktop"
               family="mycompany"
               extends="simple.desktop"
               style-sheet-name="mycompany-desktop.xss">

  <!-- Custom Renderers -->
<renderers> <!-- Replace the pageLayout Renderer with a custom template-based renderer --> <renderer name="ui:pageLayout"> <template name="templates/laf/mycompany/pageLayout.uit"/> </renderer> <!-- Replace the tabBar Renderer with a custom Java-based Renderer --> <renderer name="ui:tabBar"> <class name="org.example.laf.custom.TabBarRenderer"/> </renderer> </renderers> <!-- A printable-facet Renderer --> <renderers facets="printable"> <!-- Replace the printable pageLayout Renderer with our own template-based Renderer --> <renderer name="pageLayout"> <template name="templates/laf/custom/printablePageLayout.uit"/> </renderer> </renderers> <!-- Custom Icons --> <icons> <!-- globalHeader icons --> <icon name="ui:globalHeaderStart"> <context-image uri="images/laf/sample/ghl.gif" width="7" height="28"/> </icon> <icon name="ui:globalHeaderEnd"> <context-image uri="images/laf/sample/ght.gif" width="7" height="28"/> </icon> <icon name="ui:globalHeaderBackground"> <context-image uri="images/laf/sample/ghb.gif" width="7" height="28"/> </icon> <!-- Define a custom MYCOMPANY icon --> <icon name="mycompany:logo"> <context-image uri="images/laf/mycompany/logo.gif" width="171" height="19"/> </icon> </icons> </look-and-feel>

ルック・アンド・フィール構成ファイルについて
カスタム・ルック・アンド・フィールのパッケージ化について

カスタム・ルック・アンド・フィールの作成
ADF UIXページの操作
Webアプリケーション設計ツールの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.