我试图通过名称获取颜色,我遇到了 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]
即它使用默认颜色。
我已将它放在一个文本框中,并尝试了其他大写形式等。这些文档在这里不是很有用。任何人都可以建议放入什么魔术弦吗?
最佳答案
未接受的答案使用 Color.getColor
。此方法从可能存在或可能不存在的系统属性中读取。您不应使用此方法。
相反,您应该使用推荐的反射方法来查找 Color
类的静态成员。或者,您应该导入自己的颜色数据库,将字符串名称映射到 RGB 值。
Color color;
try {
Field field = Color.class.getField("yellow");
color = (Color)field.get(null);
} catch (Exception e) {
color = null; // Not defined
}
关于java - java.awt.Color.getColor(String colorName) 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3772098/