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

标签 java colors awt

我试图通过名称获取颜色,我遇到了 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/

相关文章:

c# - 在 RGB 和 HSB 颜色值之间切换的算法

java - 如何更改实际复选框内 J 复选框的背景颜色

java - 当 Toolkit.getDefaultToolkit() 抛出 AWTError 时,如何在 Java 中读取图像?

java - 在 Java 中等待

java - 使用Java随机数生成器

java - New Relic Heroku Java 安装失败

java - Swing 的定时器中的 "quick"是什么意思?

php - 如何更改 LimeSurvey 单选按钮样式?

Java AWT 边界

JAVA:循环内定义的引用