如何在java中使用Color Chooser获取颜色名称

时间:2009-10-31 14:43:05

标签: java

我想要从Color选择器中选择颜色的名称,但现在它返回R,G,B值。我想要颜色的名称以供进一步使用。任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

http://java.sun.com/javase/7/docs/api/javax/swing/JColorChooser.html

中有一个方法getColor()

这将返回一个颜色。许多颜色都有名称(http://java.sun.com/javase/7/docs/api/java/awt/Color.html)但大多数都没有。据我所知,你需要通过颜色的特殊名称来测试,以测试返回的颜色是否是其中之一。

编辑 ColorChooser返回java.awt.Color,而不是RGB值。我不知道颜色的equals()合同是什么,但我怀疑你可以写:

Color c = chooser.getColor();
if (Color.BLACK.equals(c)) {
    // the color is black...
}

命名颜色为:

    static Color    black
          The color black.
static Color    BLACK
          The color black.
static Color    blue
          The color blue.
static Color    BLUE
          The color blue.
static Color    cyan
          The color cyan.
static Color    CYAN
          The color cyan.
static Color    DARK_GRAY
          The color dark gray.
static Color    darkGray
          The color dark gray.
static Color    gray
          The color gray.
static Color    GRAY
          The color gray.
static Color    green
          The color green.
static Color    GREEN
          The color green.
static Color    LIGHT_GRAY
          The color light gray.
static Color    lightGray
          The color light gray.
static Color    magenta
          The color magenta.
static Color    MAGENTA
          The color magenta.
static Color    orange
          The color orange.
static Color    ORANGE
          The color orange.
static Color    pink
          The color pink.
static Color    PINK
          The color pink.
static Color    red
          The color red.
static Color    RED
          The color red.
static Color    white
          The color white.
static Color    WHITE
          The color white.
static Color    yellow
          The color yellow.
static Color    YELLOW
          The color yellow.

答案 1 :(得分:1)

对于稍微更广泛的颜色列表,您可以考虑解析类似X11 rgb.txt文件的内容并匹配其中的条目。

答案 2 :(得分:0)

您可能会发现一些特定于域的命名方案,例如X11HTML4,但我认为您不会找到一个标准。例如,维基百科的color list基于前面提到的方案,Xona.com color list略有不同,等等。

我不确定Java是选择了一种标准(另一种标准)并为RGB颜色提供颜色名称。所以我想你必须选择一个并自己实现一个自定义转换类。

答案 3 :(得分:0)

此服务会映射许多颜色名称:

http://chir.ag/projects/name-that-color/

我不知道它是否可以/应该用作网络服务。