Программирование на Java

       

Выбор цвета


Изменение цвета, выбранного в контекст отображения, выполняется достаточно часто. В классе Graphics для изменения цвета определен метод setColor, прототип которого представлен ниже:

public abstract void setColor(Color c);

В качестве параметра методу setColor передается ссылка на объект класса Color, с помощью которого можно выбрать тот или иной цвет.

Как задается цвет?

Для этого можно использовать несколько способов.

Прежде всего, вам доступны статические объекты, определяющие фиксированный набор основных цветов:

Объект Цвет
public final static Color black; черный
public final static Color blue; голубой
public final static Color cyan; циан
public final static Color darkGray; темно-серый
public final static Color gray; серый
public final static Color green; зеленый
public final static Color lightGray; светло-серый
public final static Color magenta; малиновый
public final static Color orange; оранжевый
public final static Color pink; розовый
public final static Color red; красный
public final static Color white; белый
public final static Color yellow; желтый

Этим набором цветов пользоваться очень просто:

public void paint(Graphics g) { g.setColor(Color.yellow); g.drawString("Hello, Java world!", 10, 20); . . . }

Здесь мы привели фрагмент исходного текста метода paint, в котором в контексте отображения устанавливается желтый цвет. После этого метод drawString выведет текстовую строку " Hello, Java world!" желтым цветом.

Если необходима более точная установка цвета, вы можете воспользоваться одним из трех конструкторов объекта Color:

public Color(float r, float g, float b); public Color(int r, int g, int b); public Color(int rgb);

Первые два конструктора позволяют задавать цвет в виде совокупности значений трех основных цветовых компонент - красной, желтой и голубой (соответственно, параметры r, g и b). Для первого конструктора диапазон возможных значений компонент цвета находится в диапазоне от 0.0 до 1.0, а для второго - в диапазоне от 0 до 255.



Содержание раздела