ImageRegistryを初期化する方法について。
イマイチ、良いコード無いので、捻りだしてみた。
もっとイケてる方法知ってるぜ。って方、教えて下さい。
protected void initializeImageRegistry(ImageRegistry reg) {
final int MOD_EXPECTED = Modifier.PUBLIC | Modifier.STATIC;
final int MOD_MASK = MOD_EXPECTED | Modifier.FINAL;
BeanDesc desc = BeanDescFactory.getBeanDesc(Images.class);
Class clazz = Images.class;
for (int i = 0; i < desc.getFieldSize(); i++) {
Field f = desc.getField(i);
if ((f.getModifiers() & MOD_MASK) != MOD_EXPECTED) {
continue;
}
String s = FieldUtil.get(f, null).toString();
reg.put(s, ImageDescriptor.createFromFile(clazz, s));
}
}
public class Images extends NLS {
public static String DEFAULT_IMAGE;
static {
Class clazz = Images.class;
NLS.initializeMessages(clazz.getName(),clazz);
}
}
Images.properties
DEFAULT_IMAGE=icons/sample.gif