/* * ColorValue.java v1.1 10/20/96 * * Copyright (c) 1996-7 H.J. Tsai, Inc. All Rights Reserved. * * Permission to use, copy, modify, and distribute this software * and its documentation for any purposes and without * fee is hereby granted provided that this copyright notice * appears in all copies. * * H.J. Tsai MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. H.J. Tsai SHALL NOT BE LIABLE FOR * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. * * * Author: H.J. Tsai hjtsai@cargobay.com * * Version 1.1 Oct 20 1996 * allow '#' before hex string * * Version 1.0 Sep 08 1996 * initial version */ import java.awt.Color; public final class ColorValue { public final static Color getShadowColor(Color c) { return c.darker().darker().darker().darker(); } public final static Color getHighLightColor(Color c) { return c.brighter().brighter().brighter().brighter(); } /** * Converts a string representing a color into its Color value. * If the string can not be converted, the supplied defaultColor is returned. * * Examples: * Color c = ColorValue,s2color("113355", Color.red); * Color c = ColorValue.s2color("#113355", Color.red); * Color c = ColorValue.s2color("red", Color.red); * * @param s the string representing the color value * @param defaultColor the default color if 's' is no good * @returns the converted color */ public final static Color s2color(String s, Color defaultColor) { try { if (s.charAt(0) == '#') return new Color(Integer.parseInt(s.substring(1), 16)); else return new Color(Integer.parseInt(s, 16)); } catch (NumberFormatException e) { if (s.equalsIgnoreCase("black")) { return Color.black; } else if (s.equalsIgnoreCase("blue")) { return Color.blue; } else if (s.equalsIgnoreCase("cyan")) { return Color.cyan; } else if (s.equalsIgnoreCase("darkGray")) { return Color.darkGray; } else if (s.equalsIgnoreCase("gray")) { return Color.gray; } else if (s.equalsIgnoreCase("green")) { return Color.green; } else if (s.equalsIgnoreCase("lightGray")) { return Color.lightGray; } else if (s.equalsIgnoreCase("magenta")) { return Color.magenta; } else if (s.equalsIgnoreCase("orange")) { return Color.orange; } else if (s.equalsIgnoreCase("pink")) { return Color.pink; } else if (s.equalsIgnoreCase("red")) { return Color.red; } else if (s.equalsIgnoreCase("white")) { return Color.white; } else if (s.equalsIgnoreCase("yellow")) { return Color.yellow; } else { return defaultColor; } } } }