Mega Code Archive

 
Categories / Java Tutorial / 2D Graphics
 

HTML color and Java Color

/**  * Licensed under the Common Development and Distribution License,  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *   *   http://www.sun.com/cddl/  *     * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or   * implied. See the License for the specific language governing  * permissions and limitations under the License.  */ //Revised from ajax4jsf import java.awt.Color; import java.util.HashMap; import java.util.Map; /**  * @author shura (latest modification by $Author: slava_kabanovich $)  * @version $Revision: 1.2 $ $Date: 2006/07/12 14:59:33 $  *  */ public class HtmlColor {   private static Map colorNames;      static {     // color names.     colorNames = new HashMap();       colorNames.put("black", new Color(0x000000));     colorNames.put("green", new Color(0x008000));     colorNames.put("silver", new Color(0xC0C0C0));     colorNames.put("lime", new Color(0x00FF00));     colorNames.put("gray", new Color(0x808080));     colorNames.put("olive", new Color(0x808000));     colorNames.put("white", new Color(0xFFFFFF));     colorNames.put("yellow", new Color(0xFFFF00));     colorNames.put("maroon", new Color(0x800000));     colorNames.put("navy", new Color(0x000080));     colorNames.put("red", new Color(0xFF0000));     colorNames.put("blue", new Color(0x0000FF));     colorNames.put("purple", new Color(0x800080));     colorNames.put("teal", new Color(0x008080));     colorNames.put("fuchsia", new Color(0xFF00FF));     colorNames.put("aqua", new Color(0x00FFFF));   }   /**    * Decode HTML-attribute style of color to {@link Color}    * @param color - color name or #RRGGBB string    * @return - color for this value.    */   public static Color decode(String color){     if(null == color) {       throw new IllegalArgumentException("NULL_COLOR_PARAMETER_ERROR");     }     Color c = (Color) colorNames.get(color.trim().toLowerCase());     if (null == c) {       try {         c = Color.decode(color.trim());       } catch (NumberFormatException e) {         throw new IllegalArgumentException("DECODE_COLOR_PARAMETER_ERROR");       }     }     return c;   }      public static Integer integerValue(String color){     return new Integer(decode(color).getRGB());   }      public static String encodeRGB(Color color){     if(null == color) {       throw new IllegalArgumentException("NULL_COLOR_PARAMETER_ERROR_2");     }     return "#" + Integer.toHexString(color.getRGB()).substring(2).toUpperCase();   }    }