パレットは JAR ファイルです。パレットのコンテンツは、記号とカテゴリーの階層を定義する XML ファイル (
palette.xml
) に記述されます。
JAR ファイルには、以下を保管するサブディレクトリーも含まれます。
- パレット記号で使用されるイメージ
- 記号を記述する CSS ファイル
- その他のリソース
次の図は、パレット JAR ファイルの構造を示しています。
パレットのロードについては主要な 2 つのシナリオがあります。
- シナリオ 1: アプリケーションは、パレットから記号の固定セットを使用します。 この場合、最も簡単な方法は、クラスパスにパレットを置くことです。 パレット・マネージャーは必要ありません。これは、(署名なし) アプレットの場合にも有効です。
- シナリオ 2: アプリケーションは、パレットの可変セットを使用します。 アプリケーションでは、ユーザー・ファイル・システムからいつでもパレットを動的にロードできるようになります。 この場合、クラスパス上にないパレットをロードできるのはパレット・マネージャーのみであるため、パレット・マネージャーが必要です。 アプレットとして開発された記号アプリケーションは、ユーザー・マシンからパレットをロードするためには署名付きでなければなりません。
シナリオ 1 でパレットをロードするには、以下のようにします。
-
palette.jar ファイルがクラスパス内にあることを確認してください。
-
パレットを作成します。
new IlvPalette();
-
パレット・データは、.jar ファイルからロードします。パレット記述へのパスを知る必要があります。 例えば、パレット lib/palettes/jviews-palette-shared-symbols-8.9.jar の記述は、
ilog/views/palettes/shared/palette.xml
にあります。 Symbol Editor でパレットを調べるとパスが分かります。palette.load(getClass().getResource(pathToPaletteXML));
これで、 IlvPalette オブジェクトにパレット・データが入力されました。 -
カテゴリーと名前パスを指定してパレットから記号を取得します。
IlvPaletteSymbol psymbol = palette.getSymbol("Symbols.Controls.Dial");
シナリオ 2 でパレットをロードするには、以下のようにします。
-
palette.jar は、ファイル・システム上のどこかに存在する必要があります。 クラスパス上にある必要はありません。ファイル・システムにアクセス可能である必要があります。すなわち、アプリケーションがアプレットである場合、ユーザーのファイル・システムにアクセスするためにはアプリケーションが署名付きでなければなりません。
-
パレット・マネージャーを介してパレットを次のようにロードします。
IlvPalette[] palettes = myIlvPaletteManager.load(new URL("file://c:/ myPalette.jar"));
.jar ファイルには、複数のパレットを含むことができるため、パレットの配列が返されます。 これらのパレットもパレット・マネージャーに追加されます。 -
シナリオ 1 と同様に、カテゴリーと名前パスを指定してパレットから記号を取得します。例えば、パレット配列に 1 つしかパレットが含まれていない場合は、以下のようになります。
IlvPaletteSymbol psymbol = palettes[0].getSymbol("Symbols.Controls.Dial");