KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > pentaho > util > ColorHelper


1 /*
2  * Copyright 2006 Pentaho Corporation. All rights reserved.
3  * This software was developed by Pentaho Corporation and is provided under the terms
4  * of the Mozilla Public License, Version 1.1, or any later version. You may not use
5  * this file except in compliance with the license. If you need a copy of the license,
6  * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
7  * BI Platform. The Initial Developer is Pentaho Corporation.
8  *
9  * Software distributed under the Mozilla Public License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
11  * the license for the specific language governing your rights and limitations.
12  *
13  * Created Nov 1, 2005
14  * @author mbatchel
15  */

16 package org.pentaho.util;
17
18 import java.awt.Color JavaDoc;
19 import java.util.*;
20
21 public class ColorHelper {
22     private static final Map colors = new TreeMap();
23
24     static {
25         // TODO: Use an array and binary search at some point
26
// Source - W3C defined RGB colors
27
colors.put("alice blue", Color.decode("#f0f8ff")); //$NON-NLS-1$ //$NON-NLS-2$
28
colors.put("antique white", Color.decode("#faebd7")); //$NON-NLS-1$ //$NON-NLS-2$
29
colors.put("aquamarine", Color.decode("#7fffd4")); //$NON-NLS-1$ //$NON-NLS-2$
30
colors.put("azure", Color.decode("#f0ffff")); //$NON-NLS-1$ //$NON-NLS-2$
31
colors.put("beige", Color.decode("#f5f5dc")); //$NON-NLS-1$ //$NON-NLS-2$
32
colors.put("bisque", Color.decode("#ffe4c4")); //$NON-NLS-1$ //$NON-NLS-2$
33
colors.put("black", Color.decode("#000000")); //$NON-NLS-1$ //$NON-NLS-2$
34
colors.put("blanched almond", Color.decode("#ffebcd")); //$NON-NLS-1$ //$NON-NLS-2$
35
colors.put("blue", Color.decode("#0000ff")); //$NON-NLS-1$ //$NON-NLS-2$
36
colors.put("blue violet", Color.decode("#8a2be2")); //$NON-NLS-1$ //$NON-NLS-2$
37
colors.put("brown", Color.decode("#a52a2a")); //$NON-NLS-1$ //$NON-NLS-2$
38
colors.put("burlywood", Color.decode("#deb887")); //$NON-NLS-1$ //$NON-NLS-2$
39
colors.put("cadet blue", Color.decode("#5f9ea0")); //$NON-NLS-1$ //$NON-NLS-2$
40
colors.put("chartreuse", Color.decode("#7fff00")); //$NON-NLS-1$ //$NON-NLS-2$
41
colors.put("chocolate", Color.decode("#d2691e")); //$NON-NLS-1$ //$NON-NLS-2$
42
colors.put("coral", Color.decode("#ff7f50")); //$NON-NLS-1$ //$NON-NLS-2$
43
colors.put("cornflower blue", Color.decode("#6495ed")); //$NON-NLS-1$ //$NON-NLS-2$
44
colors.put("cornsilk", Color.decode("#fff8dc")); //$NON-NLS-1$ //$NON-NLS-2$
45
colors.put("crimson", Color.decode("#dc143c")); //$NON-NLS-1$ //$NON-NLS-2$
46
colors.put("cyan", Color.decode("#00ffff")); //$NON-NLS-1$ //$NON-NLS-2$
47
colors.put("dark blue", Color.decode("#00008b")); //$NON-NLS-1$ //$NON-NLS-2$
48
colors.put("dark cyan", Color.decode("#008b8b")); //$NON-NLS-1$ //$NON-NLS-2$
49
colors.put("dark goldenrod", Color.decode("#b8860b")); //$NON-NLS-1$ //$NON-NLS-2$
50
colors.put("dark gray", Color.decode("#a9a9a9")); //$NON-NLS-1$ //$NON-NLS-2$
51
colors.put("dark green", Color.decode("#006400")); //$NON-NLS-1$ //$NON-NLS-2$
52
colors.put("dark khaki", Color.decode("#bdb76b")); //$NON-NLS-1$ //$NON-NLS-2$
53
colors.put("dark magenta", Color.decode("#8b008b")); //$NON-NLS-1$ //$NON-NLS-2$
54
colors.put("dark olive green", Color.decode("#556b2f")); //$NON-NLS-1$ //$NON-NLS-2$
55
colors.put("dark orange", Color.decode("#ff8c00")); //$NON-NLS-1$ //$NON-NLS-2$
56
colors.put("dark orchid", Color.decode("#9932cc")); //$NON-NLS-1$ //$NON-NLS-2$
57
colors.put("dark red", Color.decode("#8b0000")); //$NON-NLS-1$ //$NON-NLS-2$
58
colors.put("dark salmon", Color.decode("#e9967a")); //$NON-NLS-1$ //$NON-NLS-2$
59
colors.put("dark seagreen", Color.decode("#8dbc8f")); //$NON-NLS-1$ //$NON-NLS-2$
60
colors.put("dark slate blue", Color.decode("#483d8b")); //$NON-NLS-1$ //$NON-NLS-2$
61
colors.put("dark slate gray", Color.decode("#2f4f4f")); //$NON-NLS-1$ //$NON-NLS-2$
62
colors.put("dark turquoise", Color.decode("#00ded1")); //$NON-NLS-1$ //$NON-NLS-2$
63
colors.put("dark violet", Color.decode("#9400d3")); //$NON-NLS-1$ //$NON-NLS-2$
64
colors.put("deep pink", Color.decode("#ff1493")); //$NON-NLS-1$ //$NON-NLS-2$
65
colors.put("deep sky blue", Color.decode("#00bfff")); //$NON-NLS-1$ //$NON-NLS-2$
66
colors.put("dim gray", Color.decode("#696969")); //$NON-NLS-1$ //$NON-NLS-2$
67
colors.put("dodger blue", Color.decode("#1e90ff")); //$NON-NLS-1$ //$NON-NLS-2$
68
colors.put("firebrick", Color.decode("#b22222")); //$NON-NLS-1$ //$NON-NLS-2$
69
colors.put("floral white", Color.decode("#fffaf0")); //$NON-NLS-1$ //$NON-NLS-2$
70
colors.put("forest green", Color.decode("#228b22")); //$NON-NLS-1$ //$NON-NLS-2$
71
colors.put("gainsboro", Color.decode("#dcdcdc")); //$NON-NLS-1$ //$NON-NLS-2$
72
colors.put("ghost white", Color.decode("#f8f8ff")); //$NON-NLS-1$ //$NON-NLS-2$
73
colors.put("gold", Color.decode("#ffd700")); //$NON-NLS-1$ //$NON-NLS-2$
74
colors.put("goldenrod", Color.decode("#daa520")); //$NON-NLS-1$ //$NON-NLS-2$
75
colors.put("gray", Color.decode("#808080")); //$NON-NLS-1$ //$NON-NLS-2$
76
colors.put("green", Color.decode("#008000")); //$NON-NLS-1$ //$NON-NLS-2$
77
colors.put("green yellow", Color.decode("#adff2f")); //$NON-NLS-1$ //$NON-NLS-2$
78
colors.put("honeydew", Color.decode("#f0fff0")); //$NON-NLS-1$ //$NON-NLS-2$
79
colors.put("hot pink", Color.decode("#ff69b4")); //$NON-NLS-1$ //$NON-NLS-2$
80
colors.put("indian red", Color.decode("#cd5c5c")); //$NON-NLS-1$ //$NON-NLS-2$
81
colors.put("indigo", Color.decode("#4b0082")); //$NON-NLS-1$ //$NON-NLS-2$
82
colors.put("ivory", Color.decode("#fffff0")); //$NON-NLS-1$ //$NON-NLS-2$
83
colors.put("khaki", Color.decode("#f0e68c")); //$NON-NLS-1$ //$NON-NLS-2$
84
colors.put("lavender", Color.decode("#e6e6fa")); //$NON-NLS-1$ //$NON-NLS-2$
85
colors.put("lavender blush", Color.decode("#fff0f5")); //$NON-NLS-1$ //$NON-NLS-2$
86
colors.put("lawngreen", Color.decode("#7cfc00")); //$NON-NLS-1$ //$NON-NLS-2$
87
colors.put("lemon chiffon", Color.decode("#fffacd")); //$NON-NLS-1$ //$NON-NLS-2$
88
colors.put("light blue", Color.decode("#add8e6")); //$NON-NLS-1$ //$NON-NLS-2$
89
colors.put("light coral", Color.decode("#f08080")); //$NON-NLS-1$ //$NON-NLS-2$
90
colors.put("light cyan", Color.decode("#e0ffff")); //$NON-NLS-1$ //$NON-NLS-2$
91
colors.put("light goldenrod yellow", Color.decode("#fafad2")); //$NON-NLS-1$ //$NON-NLS-2$
92
colors.put("light green", Color.decode("#90ee90")); //$NON-NLS-1$ //$NON-NLS-2$
93
colors.put("light grey", Color.decode("#d3d3d3")); //$NON-NLS-1$ //$NON-NLS-2$
94
colors.put("light pink", Color.decode("#ffb6c1")); //$NON-NLS-1$ //$NON-NLS-2$
95
colors.put("light salmon", Color.decode("#ffa07a")); //$NON-NLS-1$ //$NON-NLS-2$
96
colors.put("light seagreen", Color.decode("#20b2aa")); //$NON-NLS-1$ //$NON-NLS-2$
97
colors.put("light sky blue", Color.decode("#87cefa")); //$NON-NLS-1$ //$NON-NLS-2$
98
colors.put("light slate gray", Color.decode("#778899")); //$NON-NLS-1$ //$NON-NLS-2$
99
colors.put("light steel blue", Color.decode("#b0c4de")); //$NON-NLS-1$ //$NON-NLS-2$
100
colors.put("light yellow", Color.decode("#ffffe0")); //$NON-NLS-1$ //$NON-NLS-2$
101
colors.put("lime", Color.decode("#00ff00")); //$NON-NLS-1$ //$NON-NLS-2$
102
colors.put("lime green", Color.decode("#32cd32")); //$NON-NLS-1$ //$NON-NLS-2$
103
colors.put("linen", Color.decode("#faf0e6")); //$NON-NLS-1$ //$NON-NLS-2$
104
colors.put("magenta", Color.decode("#ff00ff")); //$NON-NLS-1$ //$NON-NLS-2$
105
colors.put("maroon", Color.decode("#800000")); //$NON-NLS-1$ //$NON-NLS-2$
106
colors.put("medium aquamarine", Color.decode("#66cdaa")); //$NON-NLS-1$ //$NON-NLS-2$
107
colors.put("medium blue", Color.decode("#0000cd")); //$NON-NLS-1$ //$NON-NLS-2$
108
colors.put("medium orchid", Color.decode("#ba55d3")); //$NON-NLS-1$ //$NON-NLS-2$
109
colors.put("medium purple", Color.decode("#9370db")); //$NON-NLS-1$ //$NON-NLS-2$
110
colors.put("medium sea green", Color.decode("#3cb371")); //$NON-NLS-1$ //$NON-NLS-2$
111
colors.put("medium slate blue", Color.decode("#7b68ee")); //$NON-NLS-1$ //$NON-NLS-2$
112
colors.put("medium spring green", Color.decode("#00fa9a")); //$NON-NLS-1$ //$NON-NLS-2$
113
colors.put("medium turquoise", Color.decode("#48d1cc")); //$NON-NLS-1$ //$NON-NLS-2$
114
colors.put("medium violet red", Color.decode("#c71585")); //$NON-NLS-1$ //$NON-NLS-2$
115
colors.put("midnight blue", Color.decode("#191970")); //$NON-NLS-1$ //$NON-NLS-2$
116
colors.put("mint cream", Color.decode("#f5fffa")); //$NON-NLS-1$ //$NON-NLS-2$
117
colors.put("misty rose", Color.decode("#ffe4e1")); //$NON-NLS-1$ //$NON-NLS-2$
118
colors.put("moccasin", Color.decode("#ffe4b5")); //$NON-NLS-1$ //$NON-NLS-2$
119
colors.put("navajo white", Color.decode("#ffdead")); //$NON-NLS-1$ //$NON-NLS-2$
120
colors.put("navy", Color.decode("#000080")); //$NON-NLS-1$ //$NON-NLS-2$
121
colors.put("old lace", Color.decode("#fdf5e6")); //$NON-NLS-1$ //$NON-NLS-2$
122
colors.put("olive drab", Color.decode("#6b8e23")); //$NON-NLS-1$ //$NON-NLS-2$
123
colors.put("orange", Color.decode("#ffa500")); //$NON-NLS-1$ //$NON-NLS-2$
124
colors.put("orange red", Color.decode("#ff4500")); //$NON-NLS-1$ //$NON-NLS-2$
125
colors.put("orchid", Color.decode("#da70d6")); //$NON-NLS-1$ //$NON-NLS-2$
126
colors.put("pale goldenrod", Color.decode("#eee8aa")); //$NON-NLS-1$ //$NON-NLS-2$
127
colors.put("pale green", Color.decode("#98fb98")); //$NON-NLS-1$ //$NON-NLS-2$
128
colors.put("pale turquoise", Color.decode("#afeeee")); //$NON-NLS-1$ //$NON-NLS-2$
129
colors.put("pale violet red", Color.decode("#db7093")); //$NON-NLS-1$ //$NON-NLS-2$
130
colors.put("papaya whip", Color.decode("#ffefd5")); //$NON-NLS-1$ //$NON-NLS-2$
131
colors.put("peach puff", Color.decode("#ffdab9")); //$NON-NLS-1$ //$NON-NLS-2$
132
colors.put("peru", Color.decode("#cd853f")); //$NON-NLS-1$ //$NON-NLS-2$
133
colors.put("pink", Color.decode("#ffc8cb")); //$NON-NLS-1$ //$NON-NLS-2$
134
colors.put("plum", Color.decode("#dda0dd")); //$NON-NLS-1$ //$NON-NLS-2$
135
colors.put("powder blue", Color.decode("#b0e0e6")); //$NON-NLS-1$ //$NON-NLS-2$
136
colors.put("purple", Color.decode("#800080")); //$NON-NLS-1$ //$NON-NLS-2$
137
colors.put("red", Color.decode("#ff0000")); //$NON-NLS-1$ //$NON-NLS-2$
138
colors.put("rosy brown", Color.decode("#bc8f8f")); //$NON-NLS-1$ //$NON-NLS-2$
139
colors.put("royal blue", Color.decode("#4169e1")); //$NON-NLS-1$ //$NON-NLS-2$
140
colors.put("saddle brown", Color.decode("#8b4513")); //$NON-NLS-1$ //$NON-NLS-2$
141
colors.put("salmon", Color.decode("#fa8072")); //$NON-NLS-1$ //$NON-NLS-2$
142
colors.put("sandy brown", Color.decode("#f4a460")); //$NON-NLS-1$ //$NON-NLS-2$
143
colors.put("sea green", Color.decode("#2e8b57")); //$NON-NLS-1$ //$NON-NLS-2$
144
colors.put("sea shell", Color.decode("#fff5ee")); //$NON-NLS-1$ //$NON-NLS-2$
145
colors.put("sienna", Color.decode("#a0522d")); //$NON-NLS-1$ //$NON-NLS-2$
146
colors.put("silver", Color.decode("#c0c0c0")); //$NON-NLS-1$ //$NON-NLS-2$
147
colors.put("sky blue", Color.decode("#87ceeb")); //$NON-NLS-1$ //$NON-NLS-2$
148
colors.put("slate blue", Color.decode("#6a5acd")); //$NON-NLS-1$ //$NON-NLS-2$
149
colors.put("snow", Color.decode("#fffafa")); //$NON-NLS-1$ //$NON-NLS-2$
150
colors.put("spring green", Color.decode("#00ff7f")); //$NON-NLS-1$ //$NON-NLS-2$
151
colors.put("steelblue", Color.decode("#4682b4")); //$NON-NLS-1$ //$NON-NLS-2$
152
colors.put("tan", Color.decode("#d2b48c")); //$NON-NLS-1$ //$NON-NLS-2$
153
colors.put("teal", Color.decode("#008080")); //$NON-NLS-1$ //$NON-NLS-2$
154
colors.put("thistle", Color.decode("#d8bfd8")); //$NON-NLS-1$ //$NON-NLS-2$
155
colors.put("tomato", Color.decode("#ff6347")); //$NON-NLS-1$ //$NON-NLS-2$
156
colors.put("turquoise", Color.decode("#40e0d0")); //$NON-NLS-1$ //$NON-NLS-2$
157
colors.put("violet", Color.decode("#ee82ee")); //$NON-NLS-1$ //$NON-NLS-2$
158
colors.put("wheat", Color.decode("#f5deb3")); //$NON-NLS-1$ //$NON-NLS-2$
159
colors.put("white", Color.decode("#ffffff")); //$NON-NLS-1$ //$NON-NLS-2$
160
colors.put("whitesmoke", Color.decode("#f5f5f5")); //$NON-NLS-1$ //$NON-NLS-2$
161
colors.put("yellow", Color.decode("#ffff00")); //$NON-NLS-1$ //$NON-NLS-2$
162
colors.put("yellow green", Color.decode("#9acd32")); //$NON-NLS-1$ //$NON-NLS-2$
163
}
164
165     public static Color JavaDoc lookupColor(String JavaDoc col) {
166         if (col == null) {
167             return null;
168         }
169         return lookupColor(col.toLowerCase(), null);
170     }
171
172     public static Color JavaDoc lookupColor(String JavaDoc col, Color JavaDoc def) {
173         if (col == null) {
174             return def;
175         }
176         Color JavaDoc rtn = (Color JavaDoc) colors.get(col.toLowerCase());
177         return (rtn != null) ? rtn : def;
178     }
179
180 }
181
Popular Tags