我想要从Color选择器中选择颜色的名称,但现在它返回R,G,B值。我想要颜色的名称以供进一步使用。任何人都可以帮助我吗?
答案 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)
您可能会发现一些特定于域的命名方案,例如X11或HTML4,但我认为您不会找到一个标准。例如,维基百科的color list基于前面提到的方案,Xona.com color list略有不同,等等。
我不确定Java是选择了一种标准(另一种标准)并为RGB颜色提供颜色名称。所以我想你必须选择一个并自己实现一个自定义转换类。
答案 3 :(得分:0)