/* ColorUtility.java History: 23 Sep 2005 Extracted from ShirleyPictureLocator.java. */ import java.awt.*; class LookupColorFailure extends Exception { } public class ColorUtility { static Color getColor(String colorName) { try { return lookupColor(colorName); } catch (LookupColorFailure e) { return Color.getColor(colorName); } } static Color getColor(String colorName, Color v) { try { return lookupColor(colorName); } catch (LookupColorFailure e) { return Color.getColor(colorName, v); } } static Color getColor(String colorName, int v) { try { return lookupColor(colorName); } catch (LookupColorFailure e) { return Color.getColor(colorName, v); } } private static Color lookupColor(String colorName) throws LookupColorFailure // I'd think Color class would support this type of conversion, but // apparently it doesn't, just things like "foreground" and "background". { if (colorName == null || colorName.equalsIgnoreCase("black")) return Color.black; else if (colorName.equalsIgnoreCase("white")) return Color.white; else if (colorName.equalsIgnoreCase("red")) return Color.red; else if (colorName.equalsIgnoreCase("green")) return Color.green; else if (colorName.equalsIgnoreCase("blue")) return Color.blue; else if (colorName.equalsIgnoreCase("cyan")) return Color.cyan; else if (colorName.equalsIgnoreCase("magenta")) return Color.magenta; else if (colorName.equalsIgnoreCase("yellow")) return Color.yellow; else if (colorName.equalsIgnoreCase("gray")) return Color.gray; else if (colorName.equalsIgnoreCase("lightGray")) return Color.lightGray; else if (colorName.equalsIgnoreCase("darkGray")) return Color.darkGray; else if (colorName.equalsIgnoreCase("orange")) return Color.orange; else if (colorName.equalsIgnoreCase("pink")) return Color.pink; else throw new LookupColorFailure(); } }