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