我试图按名称获取颜色,并且遇到了在Java中将字符串转换为颜色的情况,建议使用java.awt.getColor。
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.getColor
相反,您应该使用推荐的反射方法来查找类的静态成员Color。要么这样做,要么您应该导入自己的颜色数据库,该数据库将字符串名称映射为RGB值。
Color
Color color; try { Field field = Color.class.getField("yellow"); color = (Color)field.get(null); } catch (Exception e) { color = null; // Not defined }