|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.seasar.eclipse.common.util.ImageManager
public class ImageManager
Image オブジェクトを管理するためのユーティリティクラスです。
本クラスは、クラスパス上のリソースとして存在するイメージファイルを読み込み、管理する機能を提供します。
また、本クラスのメソッドに対してリソースのパスを指定する場合、先頭にスラッシュ(/)がついていてもいなくても同じパスとして扱います。
たとえば、"org/seasar/uruma/images/xxxImage.png" と
"/org/seasar/uruma/images/xxxImage.png"
は同じものとして扱います。
| フィールドの概要 | |
|---|---|
protected static Logger |
logger
|
| メソッドの概要 | |
|---|---|
protected static void |
checkKey(String key)
|
static void |
dispose()
ImageManager が管理する ImageRegistry を破棄します。 |
static Image |
getImage(String key)
指定されたキーで登録された画像の Image オブジェクトを返します。 |
static ImageDescriptor |
getImageDescriptor(String key)
指定されたキーで登録された画像の ImageDescriptor オブジェクトを返します。 |
static void |
init(Display display)
ImageManager を初期化します。 |
protected static void |
injectField(Class clazz,
Field field,
Object o)
|
static void |
injectImages(Class clazz)
指定されたクラスの定数フィールドに対して、 ImageManager が 管理するオブジェクトをインジェクションします。 |
protected static boolean |
isAssignableFrom(Class<?> clazz,
Field target)
|
static Image |
loadImage(String path)
path で指定された Image オブジェクトを検索し、存在しなければクラスパスからロードします。 |
static ImageDescriptor |
loadImageDescriptor(String path)
path で指定された ImageDescriptor
オブジェクトを検索し、存在しなければクラスパスからロードします。 |
static void |
loadImages(ResourceBundle bundle)
ResourceBundle からイメージを読み込み、一括登録します。 |
static void |
loadImages(String baseName)
ResourceBundle からイメージを読み込み、一括登録します。 |
static void |
loadImages(String baseName,
ClassLoader loader)
指定したクラスローダの ResourceBundle からイメージを読み込み、一括登録します。 |
protected static String |
normalizePath(String path)
|
static Image |
putImage(String key,
ImageData imageData)
ImageData から生成した Image オブジェクトを登録します。 |
static Image |
putImage(String key,
String path)
Image オブジェクトを登録します。 |
static ImageDescriptor |
putImageDescriptor(String key,
String path)
ImageDescriptor オブジェクトを登録します。 |
protected static boolean |
validateMask(Field field)
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
protected static final Logger logger
| メソッドの詳細 |
|---|
public static void init(Display display)
ImageManager を初期化します。
display - 本クラスを使用する前に呼び出してください。public static Image getImage(String key)
Image オブジェクトを返します。
key - キー
Image オブジェクト。見つからない場合は null。public static ImageDescriptor getImageDescriptor(String key)
ImageDescriptor オブジェクトを返します。
key - キー
ImageDescriptor オブジェクト。見つからない場合は null。public static Image loadImage(String path)
path で指定された Image オブジェクトを検索し、存在しなければクラスパスからロードします。
本メソッドでは、まず path をキーと見なしてレジストリから Image
オブジェクトを検索します。 Image オブジェクトが見つからない場合、path
で示されるリソースをクラスパスからロードして path をキーとしてレジストリに登録します。
この際、path は /(スラッシュ)で始まっていてもいなくても構いません。
icons/app.png というキーで Image
オブジェクトを検索します。
icons/app.png というリソースをロードします。
icons/app.png というキーでレジストリに登録します。
ResourceNotFoundRuntimeException をスローします。
path - イメージのパス/キー
Image オブジェクト
ResourceNotFoundRuntimeException - 指定されたリソースが見つからなかった場合public static ImageDescriptor loadImageDescriptor(String path)
path で指定された ImageDescriptor
オブジェクトを検索し、存在しなければクラスパスからロードします。
Image オブジェクトではなく ImageDescriptor オブジェクトを返すという点を除き、本メソッドは
loadImage(String) メソッドと同じです。
詳細は loadImage(String) メソッドの説明をご覧ください。
path - イメージのパス/キー
ImageDescriptor オブジェクト
ResourceNotFoundRuntimeException - 指定されたリソースが見つからなかった場合
public static Image putImage(String key,
String path)
Image オブジェクトを登録します。
path で示されるリソースをクラスパス上から読み込み、key
で示されるキーでレジストリに登録します。
既に同じキーで Image オブジェクトが登録されている場合、上書きします。
key - キーpath - イメージのパス
Image オブジェクト
ResourceNotFoundRuntimeException - 指定されたリソースが見つからなかった場合
public static Image putImage(String key,
ImageData imageData)
ImageData から生成した Image オブジェクトを登録します。
既に同じキーで Image オブジェクトが登録されている場合、上書きします。
key - キーimageData - ImageData オブジェクト
Image オブジェクト
public static ImageDescriptor putImageDescriptor(String key,
String path)
ImageDescriptor オブジェクトを登録します。
path で示されるリソースをクラスパス上から読み込み、ImageDescriptor
オブジェクトとして key で示されるキーでレジストリに登録します。
既に同じキーで ImageDescriptor オブジェクトが登録されている場合、上書きします。
key - キーpath - リソースのパス
ImageDescriptor オブジェクト
ResourceNotFoundRuntimeException - 指定されたリソースが見つからなかった場合public static void loadImages(ResourceBundle bundle)
ResourceBundle からイメージを読み込み、一括登録します。
「key=path」の形式で記述されたプロパティファイルを元にした ResourceBundle から Image
オブジェクトを一括して読み込みます。
本メソッドではイメージを ImageDescriptor として登録します。
コーディング例
ResourceBundle imageResources = ResourceBundle.getBundle("urumaImages");
ImageManager.loadImages(imageResources);
bundle - リソースバンドルの参照
public static void loadImages(String baseName,
ClassLoader loader)
ResourceBundle からイメージを読み込み、一括登録します。
「key=path」の形式で記述されたプロパティファイルを元にした ResourceBundle から Image
オブジェクトを一括して読み込みます。
本メソッドではイメージを ImageDescriptor として登録します。
baseName - リソースバンドルの基底名loader - リソースバンドルを読み込むクラスローダpublic static void loadImages(String baseName)
ResourceBundle からイメージを読み込み、一括登録します。
「key=path」の形式で記述されたプロパティファイルを元にした ResourceBundle から Image
オブジェクトを一括して読み込みます。
本メソッドではイメージを ImageDescriptor として登録します。
baseName - リソースバンドルの基底名public static void injectImages(Class clazz)
ImageManager が 管理するオブジェクトをインジェクションします。
インジェクション対象となるのは、以下の条件を満たすフィールドです。
public static な定数フィールドであること
Image または ImageDescriptor 型のフィールドであること
ImageManager が登録する Image
または ImageDescriptor を検索し、見つかればインジェクションを行います。
【例】
以下の例では、ImageHolder クラスの フィールド、IMAGE_A と
IMAGE_B に対して、 ImageManager が管理するオブジェクトの中から、IMAGE_A、IMAGE_B
という名前のキーで登録されたオブジェクトをインジェクションします。
public class ImageHolder() {
public static Image IMAGE_A;
public static ImageDescriptor IMAGE_B;
}
ImageManager.injectImages(ImageHolder.class);
clazz - 対象クラスpublic static void dispose()
ImageManager が管理する ImageRegistry を破棄します。
再び ImageManager を使用したい場合、init(Display) メソッドを呼び出してください。
protected static void injectField(Class clazz,
Field field,
Object o)
protected static boolean validateMask(Field field)
protected static boolean isAssignableFrom(Class<?> clazz,
Field target)
protected static void checkKey(String key)
protected static String normalizePath(String path)
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||