Цвет Java из желтой строки

Есть ли способ получить цвет из String (например, «Белый»)?

Color color;
Field field = Class.forName("java.awt.Color").getField("Yellow");
color = (Color)field.get(null);

Я попытался преобразовать строку в цвет в Java и выдает ошибку. К чему относится «Поле»? Какой пакет мне нужно импортировать для этого?


person Pit Digger    schedule 01.04.2011    source источник


Ответы (2)


Это потому, что поле, определяющее желтый цвет, называется YELLOW или yellow.

У вас есть заглавная буква Y, которая не может быть сопоставлена ​​с цветом. Вместо этого попробуйте:

Field field = Class.forName("java.awt.Color").getField("yellow");

Посмотрите на этот класс для всех полей, содержащихся в Color http://download.oracle.com/javase/6/docs/api/java/awt/Color.html

Код просто использует отражение для доступа к одному из этих полей.

Однако список цветов довольно ограничен, поэтому я не знаю, насколько это может быть полезно для вас.

person Codemwnci    schedule 01.04.2011

.getField("yellow"); 

"желтый", а не "желтый"

person Costis Aivalis    schedule 01.04.2011