Как работает java.ОУ.Цвет.getColor (String colorName) работа?

Я пытаюсь получить цвета по имени, и я наткнулся преобразование строки в цвет в Java, что предполагает использование java.awt.getColor.

Я не могу понять, что передать его как строку. Следующее

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

выводит

java.ОУ.Цвет[r=255, g=0, b=0]

т. е. он идет с цвет по умолчанию там.

Я поместил это в текстовое поле, и попробовал альтернативные капитализации и т. д. Документы здесь не очень полезны. Кто-нибудь может подсказать, какие Волшебные струны вставить?

1 ответов


не принятый ответ использует 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
}