/* * Copyright 2010-2015 Institut Pasteur. * * This file is part of Icy. * * Icy is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Icy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Icy. If not, see <http://www.gnu.org/licenses/>. */ package icy.resource; import icy.image.ImageUtil; import icy.resource.icon.IcyIcon; import icy.util.StringUtil; import java.awt.Color; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.net.URL; import java.util.ArrayList; import javax.swing.ImageIcon; /** * Resources (images, icons...) utilities class. * * @author Stephane */ public class ResourceUtil { // image and icon path public static final String ICON_PATH = "res/icon/"; public static final String IMAGE_PATH = "res/image/"; public static final String ALPHA_ICON_PATH = "alpha/"; public static final String COLOR_ICON_PATH = "color/"; // default icon size public static final int DEFAULT_ICON_SIZE = IcyIcon.DEFAULT_SIZE; // application images public static final Image IMAGE_ICY_16 = ResourceUtil.getIconAsImage("icy16.png"); public static final Image IMAGE_ICY_32 = ResourceUtil.getIconAsImage("icy32.png"); public static final Image IMAGE_ICY_256 = ResourceUtil.getImage("logo.png"); public static final Image IMAGE_PLUGIN_SMALL = ResourceUtil.getImage("app/plugin_small.png"); public static final Image IMAGE_PLUGIN = ResourceUtil.getImage("app/plugin.png"); public static final Image IMAGE_ACCOLADE_LEFT = ResourceUtil.getImage("app/accol_left.png"); // alpha mask icons public static final ImageIcon ICON_ICY_16 = ResourceUtil.getImageIcon(IMAGE_ICY_16); public static final ImageIcon ICON_ICY_32 = ResourceUtil.getImageIcon(IMAGE_ICY_32); public static final Image ICON_NULL = ResourceUtil.getAlphaIconAsImage("null.png"); public static final Image ICON_WINDOW_EXPAND = ResourceUtil.getAlphaIconAsImage("top_right_expand.png"); public static final Image ICON_WINDOW_COLLAPSE = ResourceUtil.getAlphaIconAsImage("top_right_collapse.png"); public static final Image ICON_PICTURE = ResourceUtil.getAlphaIconAsImage("picture.png"); public static final Image ICON_PICTURE_COPY = ResourceUtil.getAlphaIconAsImage("picture_copy.png"); public static final Image ICON_PICTURE_PASTE = ResourceUtil.getAlphaIconAsImage("picture_paste.png"); public static final Image ICON_WINDOW = ResourceUtil.getAlphaIconAsImage("app_window.png"); public static final Image ICON_DETACHED_WINDOW = ResourceUtil.getAlphaIconAsImage("app_detached.png"); public static final Image ICON_DOC = ResourceUtil.getAlphaIconAsImage("document.png"); public static final Image ICON_DOC_NEW = ResourceUtil.getAlphaIconAsImage("doc_new.png"); public static final Image ICON_DOC_COPY = ResourceUtil.getAlphaIconAsImage("doc_copy.png"); public static final Image ICON_DOC_IMPORT = ResourceUtil.getAlphaIconAsImage("doc_import.png"); public static final Image ICON_DOC_EXPORT = ResourceUtil.getAlphaIconAsImage("doc_export.png"); public static final Image ICON_XLS_EXPORT = ResourceUtil.getAlphaIconAsImage("xls_export.png"); public static final Image ICON_DOCEDIT = ResourceUtil.getAlphaIconAsImage("doc_edit.png"); public static final Image ICON_DOCTEXT1 = ResourceUtil.getAlphaIconAsImage("doc_lines.png"); public static final Image ICON_DOCTEXT2 = ResourceUtil.getAlphaIconAsImage("doc_lines_stright.png"); public static final Image ICON_DUPLICATE = ResourceUtil.getAlphaIconAsImage("duplicate.png"); public static final Image ICON_FOLDER = ResourceUtil.getAlphaIconAsImage("folder.png"); public static final Image ICON_OPEN = ResourceUtil.getAlphaIconAsImage("folder_open.png"); public static final Image ICON_LOAD = ICON_OPEN; public static final Image ICON_SAVE = ResourceUtil.getAlphaIconAsImage("save.png"); public static final Image ICON_CLOSE = ResourceUtil.getAlphaIconAsImage("round_delete.png"); public static final Image ICON_CLIPBOARD_CLEAR = ResourceUtil.getAlphaIconAsImage("clipboard_clear.png"); public static final Image ICON_COPY = ResourceUtil.getAlphaIconAsImage("clipboard_copy.png"); public static final Image ICON_CUT = ResourceUtil.getAlphaIconAsImage("clipboard_cut.png"); public static final Image ICON_LINK_COPY = ResourceUtil.getAlphaIconAsImage("clipboard_link_copy.png"); public static final Image ICON_PASTE = ResourceUtil.getAlphaIconAsImage("clipboard_past.png"); public static final Image ICON_LINK_PASTE = ResourceUtil.getAlphaIconAsImage("clipboard_link_past.png"); public static final Image ICON_HELP = ResourceUtil.getAlphaIconAsImage("help.png"); public static final Image ICON_INFO = ResourceUtil.getAlphaIconAsImage("info.png"); public static final Image ICON_ON_OFF = ResourceUtil.getAlphaIconAsImage("on-off.png"); public static final Image ICON_TRASH = ResourceUtil.getAlphaIconAsImage("trash.png"); public static final Image ICON_DELETE = ResourceUtil.getAlphaIconAsImage("delete.png"); public static final Image ICON_COG = ResourceUtil.getAlphaIconAsImage("cog.png"); public static final Image ICON_UNCHECKED = ResourceUtil.getAlphaIconAsImage("checkbox_unchecked.png"); public static final Image ICON_CHECKED = ResourceUtil.getAlphaIconAsImage("checkbox_checked.png"); public static final Image ICON_LOCK_OPEN = ResourceUtil.getAlphaIconAsImage("unlocked.png"); public static final Image ICON_LOCK_CLOSE = ResourceUtil.getAlphaIconAsImage("locked.png"); public static final Image ICON_DOWNLOAD = ResourceUtil.getAlphaIconAsImage("download.png"); public static final Image ICON_PROPERTIES = ICON_DOCTEXT1; public static final Image ICON_TAG = ResourceUtil.getAlphaIconAsImage("tag.png"); public static final Image ICON_TOOLS = ResourceUtil.getAlphaIconAsImage("wrench_plus_2.png"); public static final Image ICON_LIGHTING = ResourceUtil.getAlphaIconAsImage("lighting.png"); public static final Image ICON_SEARCH = ResourceUtil.getAlphaIconAsImage("zoom.png"); public static final Image ICON_WAIT = ResourceUtil.getAlphaIconAsImage("sand.png"); public static final Image ICON_VISIBLE = ResourceUtil.getAlphaIconAsImage("eye_open.png"); public static final Image ICON_NOT_VISIBLE = ResourceUtil.getAlphaIconAsImage("eye_close.png"); public static final Image ICON_UNDO = ResourceUtil.getAlphaIconAsImage("undo.png"); public static final Image ICON_REDO = ResourceUtil.getAlphaIconAsImage("redo.png"); public static final Image ICON_CENTER_IMAGE = ResourceUtil.getAlphaIconAsImage("center.png"); public static final Image ICON_CROP = ResourceUtil.getAlphaIconAsImage("crop.png"); public static final Image ICON_FIT_IMAGE = ResourceUtil.getAlphaIconAsImage("fit_in2.png"); public static final Image ICON_FIT_CANVAS = ResourceUtil.getAlphaIconAsImage("fit_out.png"); public static final Image ICON_TARGET = ResourceUtil.getAlphaIconAsImage("simple_target.png"); public static final Image ICON_PENCIL = ResourceUtil.getAlphaIconAsImage("pencil.png"); public static final Image ICON_BRUSH = ResourceUtil.getAlphaIconAsImage("brush.png"); public static final Image ICON_LINK = ResourceUtil.getAlphaIconAsImage("link.png"); public static final Image ICON_LAYER_H1 = ResourceUtil.getAlphaIconAsImage("layers_h1.png"); public static final Image ICON_LAYER_H2 = ResourceUtil.getAlphaIconAsImage("layers_h2.png"); public static final Image ICON_LAYER_REVERSE_H = ResourceUtil.getAlphaIconAsImage("layers_reverse_h.png"); public static final Image ICON_LAYER_EXTRACT_H = ResourceUtil.getAlphaIconAsImage("layers_extract_h.png"); public static final Image ICON_LAYER_ADD_H = ResourceUtil.getAlphaIconAsImage("layers_add_h.png"); public static final Image ICON_LAYER_INSERT_H = ResourceUtil.getAlphaIconAsImage("layers_insert_h.png"); public static final Image ICON_LAYER_REMOVE_H = ResourceUtil.getAlphaIconAsImage("layers_remove_h.png"); public static final Image ICON_LAYER_REMOVE_ADV_H = ResourceUtil.getAlphaIconAsImage("layers_remove_adv_h.png"); public static final Image ICON_LAYER_V1 = ResourceUtil.getAlphaIconAsImage("layers_v1.png"); public static final Image ICON_LAYER_V2 = ResourceUtil.getAlphaIconAsImage("layers_v2.png"); public static final Image ICON_LAYER_REVERSE_V = ResourceUtil.getAlphaIconAsImage("layers_reverse_v.png"); public static final Image ICON_LAYER_EXTRACT_V = ResourceUtil.getAlphaIconAsImage("layers_extract_v.png"); public static final Image ICON_LAYER_ADD_V = ResourceUtil.getAlphaIconAsImage("layers_add_v.png"); public static final Image ICON_LAYER_INSERT_V = ResourceUtil.getAlphaIconAsImage("layers_insert_v.png"); public static final Image ICON_LAYER_REMOVE_V = ResourceUtil.getAlphaIconAsImage("layers_remove_v.png"); public static final Image ICON_LAYER_REMOVE_ADV_V = ResourceUtil.getAlphaIconAsImage("layers_remove_adv_v.png"); public static final Image ICON_LAYER_ADJUST_HV = ResourceUtil.getAlphaIconAsImage("layers_adjust_hv.png"); public static final Image ICON_ROI = ResourceUtil.getAlphaIconAsImage("roi.png"); public static final Image ICON_ROI_POINT = ResourceUtil.getAlphaIconAsImage("roi_point.png"); public static final Image ICON_ROI_LINE = ResourceUtil.getAlphaIconAsImage("roi_line.png"); public static final Image ICON_ROI_OVAL = ResourceUtil.getAlphaIconAsImage("roi_oval.png"); public static final Image ICON_ROI_POLYLINE = ResourceUtil.getAlphaIconAsImage("roi_polyline.png"); public static final Image ICON_ROI_POLYGON = ResourceUtil.getAlphaIconAsImage("roi_polygon.png"); public static final Image ICON_ROI_RECTANGLE = ResourceUtil.getAlphaIconAsImage("roi_rectangle.png"); public static final Image ICON_ROI_AREA = ResourceUtil.getAlphaIconAsImage("roi_area.png"); public static final Image ICON_ROI_NOT = ResourceUtil.getAlphaIconAsImage("roi_not.png"); public static final Image ICON_ROI_OR = ResourceUtil.getAlphaIconAsImage("roi_or.png"); public static final Image ICON_ROI_AND = ResourceUtil.getAlphaIconAsImage("roi_and.png"); public static final Image ICON_ROI_XOR = ResourceUtil.getAlphaIconAsImage("roi_xor.png"); public static final Image ICON_ROI_SUB = ResourceUtil.getAlphaIconAsImage("roi_sub.png"); public static final Image ICON_ROI_COMP = ResourceUtil.getAlphaIconAsImage("separate_obj.png"); public static final Image ICON_BOOL_MASK = ResourceUtil.getAlphaIconAsImage("boolean_mask.png"); public static final Image ICON_INDENT_DECREASE = ResourceUtil.getAlphaIconAsImage("indent_decrease.png"); public static final Image ICON_INDENT_INCREASE = ResourceUtil.getAlphaIconAsImage("indent_increase.png"); public static final Image ICON_INDENT_REMOVE = ResourceUtil.getAlphaIconAsImage("indent_remove.png"); public static final Image ICON_TOIJ = ResourceUtil.getAlphaIconAsImage("to_ij.png"); public static final Image ICON_TOICY = ResourceUtil.getAlphaIconAsImage("to_icy.png"); public static final Image ICON_PLAY = ResourceUtil.getAlphaIconAsImage("playback_play.png"); public static final Image ICON_STOP = ResourceUtil.getAlphaIconAsImage("playback_stop.png"); public static final Image ICON_PAUSE = ResourceUtil.getAlphaIconAsImage("playback_pause.png"); public static final Image ICON_PLAY_NEXT = ResourceUtil.getAlphaIconAsImage("playback_next.png"); public static final Image ICON_PLAY_PREV = ResourceUtil.getAlphaIconAsImage("playback_prev.png"); public static final Image ICON_RELOAD = ResourceUtil.getAlphaIconAsImage("playback_reload.png"); public static final Image ICON_PLUS = ResourceUtil.getAlphaIconAsImage("plus.png"); public static final Image ICON_MINUS = ResourceUtil.getAlphaIconAsImage("minus.png"); public static final Image ICON_ROUND_PLUS = ResourceUtil.getAlphaIconAsImage("round_plus.png"); public static final Image ICON_ROUND_MINUS = ResourceUtil.getAlphaIconAsImage("round_minus.png"); public static final Image ICON_ROTATE_UNCLOCK = ResourceUtil.getAlphaIconAsImage("rot_unclock.png"); public static final Image ICON_ROTATE_CLOCK = ICON_RELOAD; public static final Image ICON_ARROW_UP = ResourceUtil.getAlphaIconAsImage("arrow_top.png"); public static final Image ICON_ARROW_LEFT = ResourceUtil.getAlphaIconAsImage("arrow_left.png"); public static final Image ICON_ARROW_RIGHT = ResourceUtil.getAlphaIconAsImage("arrow_right.png"); public static final Image ICON_ARROW_DOWN = ResourceUtil.getAlphaIconAsImage("arrow_bottom.png"); public static final Image ICON_ARROW_TOP_RIGHT = ResourceUtil.getAlphaIconAsImage("arrow_top_right.png"); public static final Image ICON_ROUND_ARROW_UP = ResourceUtil.getAlphaIconAsImage("round_arrow_up.png"); public static final Image ICON_ROUND_ARROW_LEFT = ResourceUtil.getAlphaIconAsImage("round_arrow_left.png"); public static final Image ICON_ROUND_ARROW_RIGHT = ResourceUtil.getAlphaIconAsImage("round_arrow_right.png"); public static final Image ICON_ROUND_ARROW_DOWN = ResourceUtil.getAlphaIconAsImage("round_arrow_down.png"); public static final Image ICON_SQUARE_DOWN = ResourceUtil.getAlphaIconAsImage("sq_down.png"); public static final Image ICON_SQUARE_UP = ResourceUtil.getAlphaIconAsImage("sq_up.png"); public static final Image ICON_SQUARE_PREV = ResourceUtil.getAlphaIconAsImage("sq_prev.png"); public static final Image ICON_SQUARE_NEXT = ResourceUtil.getAlphaIconAsImage("sq_next.png"); public static final Image ICON_CLEAR_BEFORE = ResourceUtil.getAlphaIconAsImage("clear_top.png"); public static final Image ICON_CLEAR_AFTER = ResourceUtil.getAlphaIconAsImage("clear_bottom.png"); public static final Image ICON_PANEL_EXPAND = ResourceUtil.getAlphaIconAsImage("br_next.png"); public static final Image ICON_PANEL_COLLAPSE = ResourceUtil.getAlphaIconAsImage("br_down.png"); public static final Image ICON_PIN = ResourceUtil.getAlphaIconAsImage("pin.png"); public static final Image ICON_NODE_EXPANDED = ResourceUtil.getAlphaIconAsImage("node_expanded.png"); public static final Image ICON_NODE_COLLAPSED = ResourceUtil.getAlphaIconAsImage("node_collapsed.png"); public static final Image ICON_BAND_RIGHT = ResourceUtil.getAlphaIconAsImage("arrow_r.png"); public static final Image ICON_BAND_LEFT = ResourceUtil.getAlphaIconAsImage("arrow_l.png"); public static final Image ICON_RESIZE = ResourceUtil.getAlphaIconAsImage("cursor_drag_arrow.png"); public static final Image ICON_RESIZE_2 = ResourceUtil.getAlphaIconAsImage("cursor_drag_arrow_2.png"); public static final Image ICON_TEXT = ResourceUtil.getAlphaIconAsImage("text_letter_t.png"); public static final Image ICON_SMILEY_HAPPY = ResourceUtil.getAlphaIconAsImage("emotion_smile.png"); public static final Image ICON_SMILEY_SAD = ResourceUtil.getAlphaIconAsImage("emotion_sad.png"); public static final Image ICON_CUBE_3D = ResourceUtil.getAlphaIconAsImage("cube.png"); public static final Image ICON_PLUGIN = ResourceUtil.getAlphaIconAsImage("plugin.png"); public static final Image ICON_DATABASE = ResourceUtil.getAlphaIconAsImage("db.png"); public static final Image ICON_STAR = ResourceUtil.getAlphaIconAsImage("star_fav.png"); public static final Image ICON_NETWORK = ResourceUtil.getAlphaIconAsImage("network.png"); public static final Image ICON_BROWSER = ResourceUtil.getAlphaIconAsImage("browser.png"); public static final Image ICON_CHAT = ResourceUtil.getAlphaIconAsImage("spechbubble.png"); public static final Image ICON_PHOTO = ResourceUtil.getAlphaIconAsImage("photo.png"); public static final Image ICON_PHOTO_SMALL = ResourceUtil.getAlphaIconAsImage("photo_small.png"); /** * @deprecated Use {@link #ICON_DOC_NEW} instead. */ @Deprecated public static final Image ICON_NEWDOC = ICON_DOC_NEW; /** * @deprecated Use {@link #ICON_DOC_COPY} instead. */ @Deprecated public static final Image ICON_DOCCOPY = ICON_DOC_COPY; /** * @deprecated Use {@link #ICON_DOC_IMPORT} instead. */ @Deprecated public static final Image ICON_DOCIMPORT = ICON_DOC_IMPORT; /** * @deprecated Use {@link #ICON_DOC_EXPORT} instead. */ @Deprecated public static final Image ICON_DOCEXPORT = ICON_DOC_EXPORT; /** * @deprecated Use {@link #ICON_ARROW_DOWN} instead. */ @Deprecated public static final Image ICON_ARROW_BOTTOM = ICON_ARROW_DOWN; /** * @deprecated Use {@link #ICON_ARROW_UP} instead. */ @Deprecated public static final Image ICON_ARROW_TOP = ICON_ARROW_UP; /** * @deprecated Use {@link #ICON_WINDOW_EXPAND} instead. */ @Deprecated public static final Image ICON_EXPAND = ICON_WINDOW_EXPAND; /** * @deprecated Use {@link #ICON_WINDOW_COLLAPSE} instead. */ @Deprecated public static final Image ICON_COLLAPSE = ICON_WINDOW_COLLAPSE; // color icons public static final Image ICON_ALPHA_COLOR = ResourceUtil.getColorIconAsImage("alpha.png"); public static final Image ICON_ARGB_COLOR = ResourceUtil.getColorIconAsImage("argb.png"); public static final Image ICON_RGB_COLOR = ResourceUtil.getColorIconAsImage("rgb.png"); public static final Image ICON_GRAY_COLOR = ResourceUtil.getColorIconAsImage("gray.png"); public static final Image ICON_PLUGIN_COLOR = ResourceUtil.getColorIconAsImage("plugin.png"); public static ArrayList<Image> getIcyIconImages() { final ArrayList<Image> result = new ArrayList<Image>(); result.add(ResourceUtil.IMAGE_ICY_256); result.add(ResourceUtil.IMAGE_ICY_32); result.add(ResourceUtil.IMAGE_ICY_16); return result; } private static Image scaleImage(Image image, int size) { // resize if needed if ((image != null) && (size != -1)) { // be sure image data are ready ImageUtil.waitImageReady(image); // resize only if image has different size if ((image.getWidth(null) != size) || (image.getWidth(null) != size)) return ImageUtil.scale(image, size, size); } return image; } /** * Return an image with wanted size located in res/image<br> * For any other location use the ImageUtil.loadImage() method * * @param name */ public static Image getImage(String name) { final Image result; final URL url = ResourceUtil.class.getResource("/" + IMAGE_PATH + name); // TODO: this actually return the image asynchronously, check it does not bring problems // if (url != null) // result = ImageUtil.loadAsync(url); // else // result = ImageUtil.loadAsync(ICON_PATH + name); if (url != null) result = ImageUtil.load(url, true); else result = ImageUtil.load(new File(IMAGE_PATH + name), true); if (result == null) { System.out.println("Resource name can't be found: " + name); return null; } return result; } /** * Return lock image with specified number. */ public static BufferedImage getLockedImage(int number) { final BufferedImage result = ImageUtil.getCopy(ICON_LOCK_CLOSE); // nice for 48 pixels image ImageUtil.drawTextTopRight(result, StringUtil.toString(number), 26, true, Color.black); return result; } /** * Return lock image with specified letter. */ public static BufferedImage getLockedImage(char letter) { final BufferedImage result = ImageUtil.getCopy(ICON_LOCK_CLOSE); // nice for 48 pixels image ImageUtil.drawTextTopRight(result, String.valueOf(letter), 26, true, Color.black); return result; } /** * Return an image with wanted size located in res/icon from its name<br> * For any other location use the ImageUtil.loadImage() method * * @param name */ public static Image getIconAsImage(String name, int size) { final Image image; final URL url = ResourceUtil.class.getResource("/" + ICON_PATH + name); // TODO: this actually return the image asynchronously, check it does not bring problems // if (url != null) // image = ImageUtil.loadAsync(url); // else // image = ImageUtil.loadAsync(ICON_PATH + name); if (url != null) image = ImageUtil.load(url, true); else image = ImageUtil.load(new File(ICON_PATH + name), true); if (image == null) { System.out.println("Resource name can't be found: " + name); return null; } return scaleImage(image, size); } /** * Return an image located in res/icon from its name<br> * For any other location use the ImageUtil.loadImage() method * * @param name */ public static Image getIconAsImage(String name) { return getIconAsImage(name, -1); } /** * Create an ImageIcon with specified size from the specified image<br> */ public static ImageIcon getImageIcon(Image image, int size) { if (image != null) return new ImageIcon(scaleImage(image, size)); return null; } /** * Create an ImageIcon from the specified image (default image size is used as icon size)<br> */ public static ImageIcon getImageIcon(Image image) { if (image != null) return new ImageIcon(image); return null; } /** * Return an image located in res/icon with specified square size from its name<br> */ public static ImageIcon getImageIcon(String resourceName, int size) { return getImageIcon(getIconAsImage(resourceName, size)); } /** * Return an image located in res/icon from its name<br> */ public static ImageIcon getImageIcon(String resourceName) { return getImageIcon(getIconAsImage(resourceName)); } /** * Return an image located in res/icon/alpha with specified square size from its name<br> */ public static Image getAlphaIconAsImage(String resourceName, int size) { final String finalName; if (resourceName.toLowerCase().endsWith(".png")) finalName = resourceName; else finalName = resourceName + ".png"; return getIconAsImage(ALPHA_ICON_PATH + finalName, size); } /** * Return an image located in res/icon/alpha from its name<br> */ public static Image getAlphaIconAsImage(String resourceName) { return getAlphaIconAsImage(resourceName, -1); } /** * Return an ImageIcon located in res/icon/alpha with specified square size<br> */ public static ImageIcon getAlphaIcon(String resourceName, int size) { final String finalName; if (resourceName.toLowerCase().endsWith(".png")) finalName = resourceName; else finalName = resourceName + ".png"; return getImageIcon(getIconAsImage(ALPHA_ICON_PATH + finalName, size)); } /** * Return an ImageIcon located in res/icon/alpha<br> */ public static ImageIcon getAlphaIcon(String resourceName) { return getAlphaIcon(resourceName, -1); } /** * Return an image located in res/icon/color with specified square size from its name<br> */ public static Image getColorIconAsImage(String resourceName, int size) { final String finalName; if (resourceName.toLowerCase().endsWith(".png")) finalName = resourceName; else finalName = resourceName + ".png"; return getIconAsImage(COLOR_ICON_PATH + finalName, size); } /** * Return an image located in res/icon/color from its name<br> */ public static Image getColorIconAsImage(String resourceName) { return getColorIconAsImage(resourceName, -1); } /** * Return an ImageIcon located in res/icon/color with specified square size<br> */ public static ImageIcon getColorIcon(String resourceName, int size) { final String finalName; if (resourceName.toLowerCase().endsWith(".png")) finalName = resourceName; else finalName = resourceName + ".png"; return getImageIcon(getIconAsImage(COLOR_ICON_PATH + finalName, size)); } /** * Return an ImageIcon located in res/icon/color<br> */ public static ImageIcon getColorIcon(String resourceName) { return getColorIcon(resourceName, -1); } /** * @deprecated use {@link #getAlphaIconAsImage(String, int)} instead */ @Deprecated public static Image getBlackIconAsImage(String resourceName, int size) { return getAlphaIconAsImage(resourceName, size); } /** * @deprecated use {@link #getAlphaIconAsImage(String)} instead */ @Deprecated public static Image getBlackIconAsImage(String resourceName) { return getAlphaIconAsImage(resourceName); } /** * @deprecated use {@link #getAlphaIcon(String, int)} instead */ @Deprecated public static ImageIcon getBlackIcon(String resourceName, int size) { return getAlphaIcon(resourceName, size); } /** * @deprecated use {@link #getAlphaIcon(String)} instead */ @Deprecated public static ImageIcon getBlackIcon(String resourceName) { return getAlphaIcon(resourceName); } /** * @deprecated use {@link #getAlphaIcon(String, int)} instead */ @Deprecated public static ImageIcon getWhiteIcon(String resourceName, int size) { return getAlphaIcon(resourceName, size); } /** * @deprecated use {@link #getAlphaIcon(String)} instead */ @Deprecated public static ImageIcon getWhiteIcon(String resourceName) { return getAlphaIcon(resourceName); } // public static ImageIcon getColorIcon(String resourceName, int size) // { // return getImageIcon(getIconAsImage(COLOR_ICON_PATH + resourceName, size)); // } // // public static ImageIcon getColorIcon(String resourceName) // { // return getColorIcon(resourceName, -1); // } /** * @deprecated use {@link #getAlphaIcon(String, int)} instead */ @Deprecated public static ImageIcon getIcyIcon(String resourceName, int size) { return getAlphaIcon(resourceName, size); } /** * @deprecated use {@link #getAlphaIcon(String)} instead */ @Deprecated public static ImageIcon getIcyIcon(String resourceName) { return getAlphaIcon(resourceName); } /** * Return a new ImageIcon scaled with specified size */ public static ImageIcon scaleIcon(ImageIcon icon, int size) { if (icon != null) return getImageIcon(icon.getImage(), size); return null; } }