com.bbn.openmap.util
Class ColorFactory

java.lang.Object
  extended by com.bbn.openmap.util.ColorFactory

public class ColorFactory
extends java.lang.Object

ColorFactory creates instances of colors. This class has methods which create java.awt.Color or com.bbn.openmap.omGraphics.OMColor objects. This class handles creation of Color objects in a Java version-neutral way by using reflection to create the java.awt.Color object. This way we support the extended Java 2 platform without sacrificing support for JDK 1.1.X.

NOTE: For general RGB-colored graphics, you should directly use the java.awt.Color 1.1.X constructors. If you are interested in using alpha-valued colors, or using colors in a (JDK) version-neutral way, then read on...

You may want to use this class because:

See Also:
OMColor

Constructor Summary
ColorFactory()
           
 
Method Summary
static java.awt.Color createColor(float red, float green, float blue, float alpha)
          Create a Color.
static java.awt.Color createColor(float red, float green, float blue, float alpha, boolean forceAlpha)
          Create a Color.
static java.awt.Color createColor(int value)
          Create a Color.
static java.awt.Color createColor(int value, boolean forceAlpha)
          Create a Color.
static java.awt.Color createColor(int red, int green, int blue, int alpha)
          Create a Color.
static java.awt.Color createColor(int red, int green, int blue, int alpha, boolean forceAlpha)
          Create a Color.
static java.lang.String getHexColorString(java.awt.Color color)
           
static java.awt.Color getNamedColor(java.lang.String name, java.awt.Color defaultColor)
          Method that returns a java.awt.Color object given the name of the color.
static java.awt.Color parseColor(java.lang.String colorString)
          Convert a string representing a 24/32bit hex color value into a Color value.
static java.awt.Color parseColor(java.lang.String colorString, boolean forceAlpha)
          Convert a string representing a 24/32bit hex color value into a Color value.
static java.awt.Paint parseColorFromProperties(java.util.Properties p, java.lang.String propName, java.awt.Paint dfault)
          Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.
static java.awt.Color parseColorFromProperties(java.util.Properties p, java.lang.String propName, java.lang.String dfault)
          Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.
static java.awt.Color parseColorFromProperties(java.util.Properties p, java.lang.String propName, java.lang.String dfault, boolean forceAlpha)
          Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ColorFactory

public ColorFactory()
Method Detail

parseColorFromProperties

public static java.awt.Color parseColorFromProperties(java.util.Properties p,
                                                      java.lang.String propName,
                                                      java.lang.String dfault)
                                               throws java.lang.NumberFormatException
Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.

Parameters:
p - properties
propName - the name of the property
dfault - color to use if the property value doesn't work
Returns:
java.awt.Color
Throws:
java.lang.NumberFormatException - if the specified string cannot be interpreted as a hexidecimal integer
See Also:
parseColor(String, boolean)

parseColorFromProperties

public static java.awt.Color parseColorFromProperties(java.util.Properties p,
                                                      java.lang.String propName,
                                                      java.lang.String dfault,
                                                      boolean forceAlpha)
                                               throws java.lang.NumberFormatException
Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.

Parameters:
p - properties
propName - the name of the property
dfault - color to use if the property value doesn't work
forceAlpha - force using alpha value
Returns:
java.awt.Color
Throws:
java.lang.NumberFormatException - if the specified string cannot be interpreted as a hexidecimal integer
See Also:
parseColor(String, boolean)

parseColorFromProperties

public static java.awt.Paint parseColorFromProperties(java.util.Properties p,
                                                      java.lang.String propName,
                                                      java.awt.Paint dfault)
Take a string from a properties file, representing the 24bit RGB or 32bit ARGB hex values for a color, and convert it to a java.awt.Color.

Parameters:
p - properties
propName - the name of the property
dfault - color to use if the property value doesn't work
Returns:
java.awt.Color
See Also:
parseColor(String, boolean)

parseColor

public static java.awt.Color parseColor(java.lang.String colorString)
                                 throws java.lang.NumberFormatException
Convert a string representing a 24/32bit hex color value into a Color value.

Parameters:
colorString - the 24/32bit hex string value (ARGB)
Returns:
java.awt.Color 24bit RGB, 24/32bit ARGB
Throws:
java.lang.NumberFormatException - if the specified string cannot be interpreted as a hexidecimal integer
See Also:
parseColor(String, boolean)

parseColor

public static java.awt.Color parseColor(java.lang.String colorString,
                                        boolean forceAlpha)
                                 throws java.lang.NumberFormatException
Convert a string representing a 24/32bit hex color value into a Color value. NOTE:

Parameters:
colorString - the 24/32bit hex string value (ARGB)
forceAlpha - force using alpha value
Returns:
java.awt.Color (24bit RGB on JDK 1.1, 24/32bit ARGB on JDK1.2)
Throws:
java.lang.NumberFormatException - if the specified string cannot be interpreted as a hexidecimal integer
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(float red,
                                         float green,
                                         float blue,
                                         float alpha)
Create a Color.

Parameters:
red - red component (0.0-1.0)
green - green component (0.0-1.0)
blue - blue component (0.0-1.0)
alpha - alpha component (0.0-1.0)
Returns:
Color or OMColor that has an ARGB value
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(float red,
                                         float green,
                                         float blue,
                                         float alpha,
                                         boolean forceAlpha)
Create a Color.

Parameters:
red - red component (0.0-1.0)
green - green component (0.0-1.0)
blue - blue component (0.0-1.0)
alpha - alpha component (0.0-1.0)
forceAlpha - force using alpha value
Returns:
Color or OMColor that has an ARGB value
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(int red,
                                         int green,
                                         int blue,
                                         int alpha)
Create a Color.

Parameters:
red - red component (0-255)
green - green component (0-255)
blue - blue component (0-255)
alpha - alpha component (0-255)
Returns:
Color or OMColor that has an ARGB value
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(int red,
                                         int green,
                                         int blue,
                                         int alpha,
                                         boolean forceAlpha)
Create a Color.

Parameters:
red - red component (0-255)
green - green component (0-255)
blue - blue component (0-255)
alpha - alpha component (0-255)
forceAlpha - force using alpha value
Returns:
Color or OMColor that has an ARGB value
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(int value)
Create a Color.

Parameters:
value - 32bit ARGB color value
Returns:
Color or OMColor that has an ARGB value
See Also:
createColor(int, boolean)

createColor

public static java.awt.Color createColor(int value,
                                         boolean forceAlpha)
Create a Color.

Parameters:
value - 32bit ARGB color value
forceAlpha - force using alpha value the underlying java.awt.Color supports it
Returns:
Color or OMColor that has an ARGB value

getHexColorString

public static java.lang.String getHexColorString(java.awt.Color color)

getNamedColor

public static java.awt.Color getNamedColor(java.lang.String name,
                                           java.awt.Color defaultColor)
Method that returns a java.awt.Color object given the name of the color. Depends on the static instances of color provided by the java.awt.Color class.

Parameters:
name -
defaultColor -
Returns:
Color that reflects the name, or the default color.


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details