Рисование в окне |
Установка атрибутов контекста отображенияИзменяя атрибуты контекста отображения, приложение Java может установить цвет для рисования графических изображений, таких как линии и многоугольники, шрифт для рисования текста, режим рисования и маску. Возможен также сдвиг начала системы координат. Выбор цветаИзменение цвета, выбранного в контекст отображения, выполняется достаточно часто. В классе Graphics для изменения цвета определен метод setColor, прототип которого представлен ниже: public abstract void setColor(Color c); В качестве параметра методу setColor передается ссылка на объект класса Color, с помощью которого можно выбрать тот или иной цвет. Как задается цвет? Для этого можно использовать несколько способов. Прежде всего, вам доступны статические объекты, определяющие фиксированный набор основных цветов:
Этим набором цветов пользоваться очень просто: 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. Третий конструктор также позволяет задавать отдельные компоненты цвета, однако они должны быть скомбинированы в одной переменной типа int. Голубая компонента занимает биты от 0 до 7, зеленая - от 8 до 15, красная - от 16 до 23. Ниже мы привели пример выбора цвета с помощью конструктора, передав ему три целочисленных значения цветовых компонент: g.setColor(new Color(0, 128, 128)); В классе Color определено еще несколько методов, которые могут оказаться вам полезными:
Второй способ установки цвето фона и изображения заключается в вызове методов setBackground и setForeground, например: setBackground(Color.yellow); setForeground(Color.black); Здесь мы устанавливаем для окна аплета желтый цвет фона и черный цвет изображения. Выбор шрифтаС помощью метода setFont из класса Graphics вы можете выбрать в контекст отображения шрифт, который будет использоваться методами drawString, drawBytes и drawChars для рисования текста. Вот прототип метода setFont: public abstract void setFont(Font font); В качестве параметра методу setFont следует передать объект класса Font. Класс FontПриведем краткое перечисление полей, конструкторов и методов этого класса. Поля класса
protected String name;
protected int size;
protected int style; Битовые маски стиля шрифта
public final static int BOLD;
public final static int ITALIC;
public final static int PLAIN; Конструкторыpublic Font(String name, int style, int size); Методы
Сравнение шрифтов public boolean equals(Object obj);
Определение названия семейства шрифтов public String getFamily();
Получение шрифта по его характеристикам public static Font getFont(String nm); public static Font getFont(String nm, Font font);
Определение названия шрифта public String getName();
Определение размера шрифта public int getSize();
Определение стиля шрифта public int getStyle();
Получение хэш-кода шрифта public int hashCode();
Определение жирности шрифта public boolean isBold();
Проверка, является ли шрифт наклонным public boolean isItalic();
Проверка, есть ли шрифтовое выделение public boolean isPlain();
Получение текстовой строки для объекта public String toString(); Создавая шрифт конструктором Font, вы должны указать имя, стиль и размер шрифта. В качестве имени можно указать, например, такие строки как Helvetica или Courier. Учтите, что в системе удаленного пользователя, загрузившего ваш аплет, может не найтись шрифта с указанным вами именем. В этом случае браузер заменит его на наиболее подходящий (с его точки зрения). Стиль шрифта задается масками BOLD, ITALIC и PLAIN, которые можно комбинировать при помощи логической операции "ИЛИ":
Что же касается размера шрифта, то он указывается в пикселах. |