1 | class ResourceLoader {↵ | | 1 | class ResourceLoader {↵
|
|
2 | private static final String ICON_PATH = "/org/columba/chat/icons";↵ | | 2 | private static String ICON_PATH = "/org/columba/calendar/icons";↵
|
|
3 | private static String i18nPath = "org.columba.chat.i18n";↵ | | 3 | private static String i18nPath = "org.columba.c↵
|
| | | 4 | alendar.i18n"; ↵
|
| | | 5 | ↵
|
| | | 6 | /**↵
|
| | | 7 | * getMiscIcon method↵
|
| | | 8 | * @param resourceName↵
|
| | | 9 | * @return icon↵
|
| | | 10 | */↵
|
4 | public static ImageIcon getMiscIcon(String resourceName) {↵ | | 11 | public static ImageIcon getMiscIcon(String resourceName) {↵
|
5 | if (resourceName == null)↵ | | 12 | if (resourceName == null)↵
|
6 | throw new IllegalArgumentException("resourceName == null");↵ | | 13 | throw new IllegalArgumentException("resourceName == null");↵
|
|
7 | URL url = ResourceLoader.class.getResource(ResourceLoader.ICON_PATH ↵ | | 14 | URL url = ResourceLoader.class.getResource(ResourceLoader.ICON_PATH↵
|
8 | + "/MISC/"↵ | | 15 | + "/MISC/"↵
|
9 | + resourceName);↵ | | 16 | + resourceName);↵
|
|
10 | if (url == null)↵ | | 17 | if (url == null)↵
|
11 | url = getFallback(true);↵ | | 18 | url = getFallback(true);↵
|
|
12 | ImageIcon icon = new ImageIcon(url);↵ | | 19 | ImageIcon icon = new ImageIcon(url);↵
|
|
13 | return icon;↵ | | 20 | return icon;↵
|
14 | }↵ | | 21 | }↵
|
|
| | | 22 | /**↵
|
| | | 23 | * getIcon method↵
|
| | | 24 | * @param name↵
|
| | | 25 | * @return standard icon↵
|
| | | 26 | */↵
|
15 | public static ImageIcon getIcon(String name) {↵ | | 27 | public static ImageIcon getIcon(String name) {↵
|
16 | return getIcon(ResourceLoader.ICON_PATH, name, false);↵ | | 28 | return getIcon(ResourceLoader.ICON_PATH, name, false);↵
|
17 | }↵ | | 29 | }↵
|
|
| | | 30 | /**↵
|
| | | 31 | * getSmallIcon method↵
|
| | | 32 | * @param name↵
|
| | | 33 | * @return small icon↵
|
| | | 34 | */↵
|
18 | public static ImageIcon getSmallIcon(String name) {↵ | | 35 | public static ImageIcon getSmallIcon(String name) {↵
|
19 | return getIcon(ResourceLoader.ICON_PATH, name, true);↵ | | 36 | return getIcon(ResourceLoader.ICON_PATH, name, true);↵
|
20 | }↵ | | 37 | }↵
|
|
| | | 38 | /**↵
|
| | | 39 | * getIcon method↵
|
| | | 40 | * @param path↵
|
| | | 41 | * @param name↵
|
| | | 42 | * @param small↵
|
| | | 43 | * @return icon↵
|
| | | 44 | */↵
|
21 | public static ImageIcon getIcon(String path, String name, boolean small) {↵ | | 45 | public static ImageIcon getIcon(String path, String name, boolean small) {↵
|
22 | URL url;↵ | | 46 | URL url;↵
|
|
23 | if (small)↵ | | 47 | if (small)↵
|
24 | url = ResourceLoader.class.getResource(path + "/16x16/" + name);↵ | | 48 | url = ResourceLoader.class.getResource(path + "/16x16/" + name);↵
|
25 | else↵ | | 49 | else↵
|
26 | url = ResourceLoader.class.getResource(path + "/22x22/" + name);↵ | | 50 | url = ResourceLoader.class.getResource(path + "/22x22/" + name);↵
|
|
27 | if (url == null)↵ | | 51 | if (url == null)↵
|
28 | url = getFallback(small);↵ | | 52 | url = getFallback(small);↵
|
|
29 | ImageIcon icon = new ImageIcon(url);↵ | | 53 | ImageIcon icon = new ImageIcon(url);↵
|
|
30 | return icon;↵ | | 54 | return icon;↵
|
31 | }↵ | | 55 | }↵
|
|
32 | /**↵ | | 56 | /**↵
|
33 | ↵ | | 57 | * GetFallback method - returns correct size image-missing icon if other icon does not exist↵
|
34 | * @param small↵ | | 58 | * @param small↵
|
35 | * @return↵ | | 59 | * @return icon ↵
|
36 | */↵ | | 60 | */↵
|
37 | private static URL getFallback(boolean small) {↵ | | 61 | private static URL getFallback(boolean small) {↵
|
38 | String path;↵ | | 62 | String path;↵
|
39 | String name;↵ | | 63 | String name;↵
|
40 | URL url;↵ | | 64 | URL url;↵
|
41 | path = "/org/columba/core/icons";↵ | | 65 | path = "org/columba/core/icons";↵
|
42 | name = "image-missing.png";↵ | | 66 | name = "image-missing.png";↵
|
43 | if (small)↵ | | 67 | if (small)↵
|
|
44 | url = ResourceLoader.class.getResource(path + "/16x16/" + name);↵ | | 68 | url = ResourceLoader.class.getResource(path + "/16x16/" + name);↵
|
45 | else↵ | | 69 | else↵
|
46 | url = ResourceLoader.class.getResource(path + "/22x22/" + name);↵ | | 70 | url = ResourceLoader.class.getResource(path + "/22x22/" + name);↵
|
47 | return url;↵ | | 71 | return url;↵
|
48 | }↵ | | 72 | }↵
|
|
| | | 73 | /**↵
|
| | | 74 | * getString method - gets i18n bundle name↵
|
| | | 75 | * @param resourceBundleName↵
|
| | | 76 | * @param resourceName↵
|
| | | 77 | * @return resource bundle↵
|
| | | 78 | */↵
|
49 | public static final String getString(String resourceBundleName,↵ | | 79 | public static final String getString(String resourceBundleName,↵
|
50 | String resourceName) {↵ | | 80 | String resourceName) {↵
|
51 | ResourceBundle bundle = null;↵ | | 81 | ResourceBundle bundle = null;↵
|
|
52 | String bundlePath = i18nPath + "." + resourceBundleName;↵ | | 82 | String bundlePath = i18nPath + "." + resourceBundleName;↵
|
|
53 | try {↵ | | 83 | try {↵
|
54 | bundle = ResourceBundle.getBundle(bundlePath, Locale.getDefault());↵ | | 84 | bundle = ResourceBundle.getBundle(bundlePath, Locale.getDefault());↵
|
|
55 | return bundle.getString(resourceName);↵ | | 85 | return bundle.getString(resourceName);↵
|
56 | } catch (MissingResourceException e) {↵ | | 86 | } catch (MissingResourceException e) {↵
|
57 | ↵ | | |
|
58 | // fall-back to global resource loader↵ | | 87 | // fall-back to global resource loader↵
|
59 | return GlobalResourceLoader.getString(null, resourceBundleName,↵ | | 88 | return GlobalResourceLoader.getString(null, resourceBundleName,↵
|
60 | resourceName);↵ | | 89 | resourceName);↵
|
61 | }↵ | | 90 | }↵
|
62 | } | | 91 | }
|