ルック・アンド・フィール構成ファイルを作成するには、次のようにします。
.xml
のファイル名(たとえばmycompany-laf.xml
)を入力し、「参照」をクリックしてWEB-INFディレクトリを選択します。ルック・アンド・フィール構成ファイルは通常はWEB-INFディレクトリにあります。ルック・アンド・フィール構成ファイルは、他のカスタム・リソースとあわせてJARファイルにパッケージ化することもできます。
コード・エディタに新しいXML文書が表示されます。
http://xmlns.oracle.com/uix/ui/laf
ネームスペースを使用してルート要素<look-and-feel>
を挿入します。ここで、次の属性を指定します。
extends
: (必須)カスタム・ルック・アンド・フィールで拡張する親ルック・アンド・フィールのIDを指定します。たとえば、次のようになります。
simple.desktop
を入力します。
base.desktop
を入力します。
family
: (必須)カスタム・ルック・アンド・フィールの実装が属するルック・アンド・フィール・ファミリの名前を指定します。このファミリ名を使用して、UIX構成(uix-config.xml
)ファイルでアプリケーションの優先ルック・アンド・フィールを指定します。
id
: (必須)カスタム・ルック・アンド・フィール実装を特定する一意の文字列を指定します。
style-sheet-name
: カスタム・ルック・アンド・フィールのスタイルを定義する.xss
カスタム・スタイルシートの名前を指定します。カスタム・ルック・アンド・フィール・リソースをパッケージ化する方法によって、次のいずれかの方法でカスタム・スタイルシートを指定します。
org/example/laf/custom/styles/mycompany-dekstop.xss
)を指定します。これは、ClassLoader.getResource()
を使用して解決できるリソース位置である必要があります。
mycompany-dekstop.xss
)を指定します。この場合は、UIX構成ファイル(uix-config.xml
)のstyles-directory
構成プロパティで定義する場所にカスタム・スタイルシートをインストールする必要があります。デフォルトの場所はメイン(<jdev_install>/jdev/mywork/<Workspace_dir>/<Project_dir>/public_html/cabo/styles
)です。それ以外の場合は、Webアプリケーションのコンテキスト・ルート(たとえば/laf/styles/mycompany-dekstop.xss
)を指定します。UIXは、デフォルトの場所でスタイルシートを検出できない場合に、public_html/
ディレクトリの下を参照するためです。
<renderers></renderers>
セクションを挿入し、次の属性を指定します。
facets
: デフォルトでは、サポートされているすべてのファセットにカスタム・レンダラが登録されます。レンダラを登録しないファセットのみを指定するには、空白で区切られた1つ以上のファセット名のリストを使用します。サポートされているファセット名は、default、printable、portlet、emailです。
<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ファイルにバンドルできます。
<renderer>
要素を追加します。
<renderers>
セクションを追加します。
<icons></icons>
セクションを挿入します。
<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()」という名前のメソッドを探します。見つからない場合はデフォルト・コンストラクタをコールします。
<config-image>
要素、<context-image>
要素、<resource-image>
要素および<uri-image>
要素のみに使用します。
uri
: (必須)アイコン・イメージのURIを指定します。
height
: イメージ・アイコンの高さを指定します。
rtl-uri
: 右から左用のアイコンのURIを指定します。右から左用のアイコンは、アラビア語やヘブライ語のように右から左に記述する言語に使用します。rtl-uri
属性を指定しないと、uri
属性の値は左から右と右から左の両方向に使用されます。
styleClass
: アイコンのイメージに適用するスタイル・クラスを指定します。
width
: イメージ・アイコンの幅を指定します。
<icon>
要素を追加します。
注意: <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.