繁体   English   中英

java.awt.Color.getColor(String colorName)如何工作?

[英]How does java.awt.Color.getColor(String colorName) work?

我试图通过名称获取颜色,我遇到了在Java中将String转换为Color ,这表明使用了java.awt.getColor

我无法弄清楚将它作为字符串传递的内容。 下列

System.out.println( java.awt.Color.getColor( "black", Color.red ) );

打印出来

java.awt.Color中[R = 255,G = 0,B = 0]

即它在那里使用默认颜色。

我把它放在一个文本框中,尝试了替代资本等等。这里的文档不是很有帮助。 任何人都可以建议放入什么魔法字符串?

未接受的答案使用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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM