パレットのロード

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