#java
#java
Вопрос:
Я создаю приложение, в котором в какой-то момент мне нужно, чтобы пользователь выбрал цвет, но чтобы не было просто 50 радиокнопок, мне было интересно, возможно ли на самом деле получить желаемый цвет из текстового поля или чего-то еще.
Комментарии:
1. как насчет поля выбора?
Ответ №1:
Почему вы не используете JColorChooser
, который является стандартным компонентом Swing?
Вы можете прочитать руководство здесь, но оно довольно простое в использовании, поскольку в каждом диалоговом окне Swing результатом является что-то вроде:
Ответ №2:
Не было бы проще просто создать JComboBox или что-то подобное?
Но чтобы ответить на ваш вопрос: да, это возможно. Я приведу фрагмент кода, который вы могли бы использовать в качестве отправной точки для начала работы (при условии, что вы все еще хотите, чтобы строка была цветной)
String text = "red";
Color color;
Field field = Class.forName("java.awt.Color").getField(text.toLowerCase()); // toLowerCase because the color fields are RED or red, not Red
color = (Color)field.get(null);
Комментарии:
1. Черт возьми, я не думал, что это корыто. Думаю, вместо этого я буду использовать поле со списком. Кроме того, спасибо, что ответили на мой актуальный вопрос, хотя я мог бы использовать аналогичный код в других ситуациях.
Ответ №3:
Попробуйте использовать Color.parseColor(text);
Ответ №4:
вы всегда можете использовать поле выбора.
Ответ №5:
Попробуйте
Color aColor = (Color) Color.class.getField("white").get(null);
Также,
Посмотрите, будет ли статический метод Color.decode() служить вашей цели.
Комментарии:
1. Обновлена ссылка на
decode()
функцию: docs.oracle.com/javase/7/docs/api/java/awt /…