|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.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)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |