我正在尝试按名称获取颜色,我遇到了Converting a String to Color in Java,建议使用java.awt.getColor
。
我无法确定将其作为字符串传递的内容。以下
System.out.println( java.awt.Color.getColor( "black", Color.red ) );
打印出来
java.awt.Color中[R = 255,G = 0,B = 0]
即。它会使用默认颜色。
我把它放在一个文本框中,并尝试了替代资本等。这里的文档不是很有帮助。任何人都可以建议放入什么神奇的弦?
答案 0 :(得分:12)
未接受的答案使用Color.getColor
。此方法从可能存在或可能不存在的系统属性中读取。你不应该使用这种方法。
相反,您应该使用upvoted反射方法来查找Color
类的静态成员。要么是这个,要么你应该导入你自己的颜色数据库,它将字符串名称映射到RGB值。
Color color;
try {
Field field = Color.class.getField("yellow");
color = (Color)field.get(null);
} catch (Exception e) {
color = null; // Not defined
}