java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.Color
所有已实现的接口:
Paint, Transparency, Serializable
直接已知子类:
ColorUIResource, SystemColor

public class Color
     
extends Object
implements Paint, Serializable

Color 类用于封装默认 sRGB 颜色空间中的颜色,或者用于封装由 ColorSpace 标识的任意颜色空间中的颜色。每种颜色都有一个隐式的 alpha 值 1.0,或者有一个在构造方法中提供的显式的 alpha 值。alpha 值定义了颜色的透明度,可用一个在 0.0 - 1.0 或 0 - 255 范围内的浮点值表示它。alpha 值为 1.0 或 255 则意味着颜色完全是不透明的,alpha 值为 0 或 0.0 则意味着颜色是完全透明的。在使用显式的 alpha 值构造 Color 时,或者在获取某个 Color 的颜色/alpha 分量时,从不将颜色分量预乘 alpha 分量。

Java 2D(tm) API 的默认颜色空间是 sRGB,这是一个被推荐使用的标准 RGB 颜色空间。有关 sRGB 的更多信息,请参阅 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html

另请参见:
ColorSpace, AlphaComposite, 序列化表格

字段摘要
static Color black
          黑色。
static Color BLACK
          黑色。
static Color blue
          蓝色。
static Color BLUE
          蓝色。
static Color cyan
          青色。
static Color CYAN
          青色。
static Color DARK_GRAY
          深灰色。
static Color darkGray
          深灰色。
static Color gray
          灰色。
static Color GRAY
          灰色。
static Color green
          绿色。
static Color GREEN
          绿色。
static Color LIGHT_GRAY
          浅灰色。
static Color lightGray
          浅灰色。
static Color magenta
          洋红色。
static Color MAGENTA
          洋红色。
static Color orange
          桔黄色。
static Color ORANGE
          桔黄色。
static Color pink
          粉红色。
static Color PINK
          粉红色。
static Color red
          红色。
static Color RED
          红色。
static Color white
          白色。
static Color WHITE
          白色。
static Color yellow
          黄色。
static Color YELLOW
          黄色。
 
从接口 java.awt.Transparency 继承的字段
BITMASK, OPAQUE, TRANSLUCENT
 
构造方法摘要
Color(ColorSpace cspace, float[] components, float alpha)
          创建具有 float 数组中指定的颜色分量和指定的 alpha 值的指定 ColorSpace 中的颜色。
Color(float r, float g, float b)
          创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这三个颜色值都在 (0.0 - 1.0) 的范围内。
Color(float r, float g, float b, float a)
          创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0.0 - 1.0) 的范围内。
Color(int rgb)
          创建具有指定组合的 RGB 值的不透明的 sRGB 颜色,此 sRGB 值的 16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。
Color(int rgba, boolean hasalpha)
          创建具有指定组合的 RGBA 值的 sRGB 颜色,此 RGBA 值的 24-31 位表示 alpha 分量,16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。
Color(int r, int g, int b)
          创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。
Color(int r, int g, int b, int a)
          创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。
 
方法摘要
 Color brighter()
          创建一个新 Color,它具有比此 Color 更亮的颜色。
 PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
          创建并返回用来生成固定颜色模式的 PaintContext
 Color darker()
          创建一个新 Color,它具有比此 Color 更暗的颜色。
static Color decode(String nm)
          将 String 转换成整数,并返回指定的不透明 Color
 boolean equals(Object obj)
          确定另一个对象是否与此 Color 相同。
 int getAlpha()
          返回位于范围 0-255 中的 alpha 分量。
 int getBlue()
          返回默认 sRGB 空间中位于范围 0-255 中的蓝色分量。
static Color getColor(String nm)
          查找系统属性中的一种颜色。
static Color getColor(String nm, Color v)
          查找系统属性中的一种颜色。
static Color getColor(String nm, int v)
          查找系统属性中的一种颜色。
 float[] getColorComponents(ColorSpace cspace, float[] compArray)
          根据由 cspace 参数指定的 ColorSpace,返回一个 float 数组,该数组只包含 Color 的颜色分量。
 float[] getColorComponents(float[] compArray)
          根据 ColorColorSpace,返回一个 float 数组,该数组只包含 Color 的颜色分量。
 ColorSpace getColorSpace()
          返回此 ColorColorSpace
 float[] getComponents(ColorSpace cspace, float[] compArray)
          根据由 cspace 参数指定的 ColorSpace,返回一个 float 数组,该数组只包含 Color 的 alpha 分量。
 float[] getComponents(float[] compArray)
          根据 ColorColorSpace,返回一个 float 数组,该数组包含 Color 的颜色分量和 alpha 分量。
 int getGreen()
          返回默认 sRGB 空间中位于范围 0-255 中的绿色分量。
static Color getHSBColor(float h, float s, float b)
          根据所指定的数值,创建一个基于 HSB 颜色模型的 Color 对象。
 int getRed()
          返回默认 sRGB 空间中位于范围 0-255 中的红色分量。
 int getRGB()
          返回默认 sRGB ColorModel 中表示颜色的 RGB 值。
 float[] getRGBColorComponents(float[] compArray)
          根据默认的 sRGB color space,返回一个 float 数组,该数组只包含 Color 的颜色分量。
 float[] getRGBComponents(float[] compArray)
          根据默认的 sRGB color space,返回一个 float 数组,该数组包含 Color 的颜色分量和 alpha 分量。
 int getTransparency()
          返回此 Color 的透明模式。
 int hashCode()
          计算此 Color 的哈希码。
static int HSBtoRGB(float hue, float saturation, float brightness)
          将由 HSB 模型指定的颜色分量转换为等价的默认 RGB 模型的值的集合。
static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals)
          将默认 RGB 模式指定的颜色分量转换为等价的色调、饱和度和亮度值的集合,这三个值是 HSB 模型的三个分量。
 String toString()
          返回此 Color 的字符串表示形式。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

字段详细信息

white

public static final Color white
白色。在默认 sRGB 空间中。


WHITE

public static final Color WHITE
白色。在默认 sRGB 空间中。

从以下版本开始:
1.4

lightGray

public static final Color lightGray
浅灰色。在默认 sRGB 空间中。


LIGHT_GRAY

public static final Color LIGHT_GRAY
浅灰色。在默认 sRGB 空间中。

从以下版本开始:
1.4

gray

public static final Color gray
灰色。在默认 sRGB 空间中。

从以下版本开始:
1.4

GRAY

public static final Color GRAY
灰色。在默认 sRGB 空间中。


darkGray

public static final Color darkGray
深灰色。在默认 sRGB 空间中。


DARK_GRAY

public static final Color DARK_GRAY
深灰色。在默认 sRGB 空间中。

从以下版本开始:
1.4

black

public static final Color black
黑色。在默认 sRGB 空间中。


BLACK

public static final Color BLACK
黑色。在默认 sRGB 空间中。

从以下版本开始:
1.4

red

public static final Color red
红色。在默认 sRGB 空间中。


RED

public static final Color RED
红色。在默认 sRGB 空间中。

从以下版本开始:
1.4

pink

public static final Color pink
粉红色。在默认 sRGB 空间中。


PINK

public static final Color PINK
粉红色。在默认 sRGB 空间中。

从以下版本开始:
1.4

orange

public static final Color orange
桔黄色。在默认 sRGB 空间中。


ORANGE

public static final Color ORANGE
桔黄色。在默认 sRGB 空间中。

从以下版本开始:
1.4

yellow

public static final Color yellow
黄色。在默认 sRGB 空间中。


YELLOW

public static final Color YELLOW
黄色。在默认 sRGB 空间中。

从以下版本开始:
1.4

green

public static final Color green
绿色。在默认 sRGB 空间中。


GREEN

public static final Color GREEN
绿色。在默认 sRGB 空间中。

从以下版本开始:
1.4

magenta

public static final Color magenta
洋红色。在默认 sRGB 空间中。


MAGENTA

public static final Color MAGENTA
洋红色。在默认 sRGB 空间中。

从以下版本开始:
1.4

cyan

public static final Color cyan
青色。在默认 sRGB 空间中。


CYAN

public static final Color CYAN
青色。在默认 sRGB 空间中。

从以下版本开始:
1.4

blue

public static final Color blue
蓝色。在默认 sRGB 空间中。


BLUE

public static final Color BLUE
蓝色。在默认 sRGB 空间中。

从以下版本开始:
1.4
构造方法详细信息

Color

public Color(int r,
             int g,
             int b)
创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。绘制时实际使用的颜色取决于从给出的可用于给定输出设备的颜色空间中找到的最匹配颜色。alpha 值的默认值为 255。

参数:
r - 红色分量
g - 绿色分量
b - 蓝色分量
抛出:
IllegalArgumentException - 如果 rgb 超出 0 到 255(包括)的范围
另请参见:
getRed(), getGreen(), getBlue(), getRGB()

Color

public Color(int r,
             int g,
             int b,
             int a)
创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。

参数:
r - 红色分量
g - 绿色分量
b - 蓝色分量
a - alpha 分量
抛出:
IllegalArgumentException - 如果 rgba 超出 0 到 255(包括)的范围
另请参见:
getRed(), getGreen(), getBlue(), getAlpha(), getRGB()

Color

public Color(int rgb)
创建具有指定组合的 RGB 值的不透明的 sRGB 颜色,此 sRGB 值的 16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。绘制时实际使用的颜色取决于从给出的可用于特定输出设备的颜色空间中找到的最匹配颜色。alpha 值的默认值为 255。

参数:
rgb - 组合的 RGB 分量
另请参见:
ColorModel.getRGBdefault(), getRed(), getGreen(), getBlue(), getRGB()

Color

public Color(int rgba,
             boolean hasalpha)
创建具有指定组合的 RGBA 值的 sRGB 颜色,此 RGBA 值的 24-31 位表示 alpha 分量,16-23 位表示红色分量,8-15 位表示绿色分量,0-7 位表示蓝色分量。如果 hasalpha 参数为 false,则 alpha 值为默认值 255。

参数:
rgba - 组合的 RGBA 分量
hasalpha - 如果 alpha 的位有效,则该参数为 true;否则为 false
另请参见:
ColorModel.getRGBdefault(), getRed(), getGreen(), getBlue(), getAlpha(), getRGB()

Color

public Color(float r,
             float g,
             float b)
创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这三个颜色值都在 (0.0 - 1.0) 的范围内。alpha 值的默认值为 1.0。绘制时实际使用的颜色取决于从给出的可用于特定输出设备的颜色空间中找到的最匹配颜色。

参数:
r - 红色分量
g - 绿色分量
b - 蓝色分量
抛出:
IllegalArgumentException - 如果 rgb 超出 0.0 到 1.0(包括)的范围
另请参见:
getRed(), getGreen(), getBlue(), getRGB()

Color

public Color(float r,
             float g,
             float b,
             float a)
创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0.0 - 1.0) 的范围内。绘制时实际使用的颜色取决于从给出的可用于特定输出设备的颜色空间中找到的最匹配的颜色。

参数:
r - 红色分量
g - 绿色分量
b - 蓝色分量
a - alpha 分量
抛出:
IllegalArgumentException - 如果 rgba 超出 0.0 到 1.0(包括)的范围
另请参见:
getRed(), getGreen(), getBlue(), getAlpha(), getRGB()

Color

public Color(ColorSpace cspace,
             float[] components,
             float alpha)
创建具有 float 数组中指定的颜色分量和指定的 alpha 值的指定 ColorSpace 中的颜色。分量的数量由 ColorSpace 的类型确定。例如,RGB 需要 3 个分量,但 CMYK 需要 4 个分量。

参数:
cspace - 用来解释分量的 ColorSpace
components - 与 ColorSpace 兼容的任意数量的颜色分量
alpha - alpha 值
抛出:
IllegalArgumentException - 如果 components 数组中的任意某个值或 alpha 值超出 0.0 到 1.0 的范围
另请参见:
getComponents(float[]), getColorComponents(float[])
方法详细信息

getRed

public int getRed()
返回默认 sRGB 空间中位于范围 0-255 中的红色分量。

返回:
红色分量。
另请参见:
getRGB()

getGreen

public int getGreen()
返回默认 sRGB 空间中位于范围 0-255 中的绿色分量。

返回:
绿色分量。
另请参见:
getRGB()

getBlue

public int getBlue()
返回默认 sRGB 空间中位于范围 0-255 中的蓝色分量。

返回:
蓝色分量。
另请参见:
getRGB()

getAlpha

public int getAlpha()
返回位于范围 0-255 中的 alpha 分量。

返回:
alpha 分量。
另请参见:
getRGB()

getRGB

public int getRGB()
返回默认 sRGB ColorModel 中表示颜色的 RGB 值。(24-31 位表示 alpha,16-23 位表示红色,8-15 位表示绿色,0-7 位表示蓝色)。

返回:
默认 sRGB ColorModel 中表示颜色的 RGB 值。
从以下版本开始:
JDK1.0
另请参见:
ColorModel.getRGBdefault(), getRed(), getGreen(), getBlue()

brighter

public Color brighter()
创建一个新 Color,它具有比此 Color 更亮的颜色。

此方法对这个 Color 的三个 RGB 分量都使用了一个任意缩放因子,以创建具有更亮颜色的 Colorbrighterdarker 是相反的操作,因为舍入误差,所以连续多次调用这两个方法所产生的结果可能是不一致的。

返回:
一个新 Color,它具有比此 Color 更亮的颜色。
从以下版本开始:
JDK1.0
另请参见:
darker()

darker

public Color darker()
创建一个新 Color,它具有比此 Color 更暗的颜色。

此方法对这个 Color 的三个 RGB 分量都使用了一个任意缩放因子,以创建具有更暗颜色的 Colorbrighterdarker 是相反的操作,因为舍入误差,所以连续多次调用这两个方法所产生的结果可能是不一致的。

返回:
一个新 Color,它具有比此 Color 更暗的颜色。
从以下版本开始:
JDK1.0
另请参见:
brighter()

hashCode

public int hashCode()
计算此 Color 的哈希码。

覆盖:
Object 中的 hashCode
返回:
此对象的哈希码值。
从以下版本开始:
JDK1.0
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
确定另一个对象是否与此 Color 相同。

当且仅当此参数不为 null,并且是一个与此对象具有相同红色、绿色、蓝色和 alpha 值的 Color 对象时,结果才是 true

覆盖:
Object 中的 equals
参数:
obj - 用来与此 Color 进行等同性测试的对象
返回:
如果对象相同,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
Object.hashCode(), Hashtable

toString

public String toString()
返回此 Color 的字符串表示形式。此方法只适用于调试。返回的字符串的内容和格式在各种实现间可能各不相同。返回的字符串可以为空,但不可以为 null

覆盖:
Object 中的 toString
返回:
Color 的字符串表示形式。

decode

public static Color decode(String nm)
                    throws NumberFormatException
String 转换成整数,并返回指定的不透明 Color。此方法处理用来表示八进制和十六进制数字的字符串格式。

参数:
nm - 将某种不透明颜色表示为 24 位整数的 String
返回:
新的 Color 对象。
抛出:
NumberFormatException - 如果不能将指定的字符串解释为十进制、八进制或十六进制的整数。
从以下版本开始:
JDK1.1
另请参见:
Integer.decode(java.lang.String)

getColor

public static Color getColor(String nm)
查找系统属性中的一种颜色。

该参数被视为要获得的系统属性的名称。然后,将此属性的字符串值解释为一个整数值,该整数随后被转换为一个 Color 对象。

如果没有找到指定的属性,或者无法将它当作一个整数来分析,则返回 null

参数:
nm - 颜色属性的名称
返回:
系统属性所转换的 Color
从以下版本开始:
JDK1.0
另请参见:
System.getProperty(java.lang.String), Integer.getInteger(java.lang.String), Color(int)

getColor

public static Color getColor(