Проще всего представить себе контекст отображения как полотно, на котором рисует художник. Точно так же как художник может выбирать для рисования различные инструменты, программист, создающий аплет Java, может выбирать различные методы класса Graphics и задавать различные атрибуты контекста отображения.
Методы класса Graphics
В качестве базового для класса Graphics (полное название класса java.awt.Graphics) выступает класс java.lang.Object.
Прежде всего мы приведем прототипы конструктора этого класса и его методов с краткими комментариями. Полное описание вы сможете найти в электронной документации, которая входит в комплект Java WorkShop.
Далее мы рассмотрим назначение основных методов, сгруппировав их по выполняемым функциям.
Конструктор
- Graphics
protected Graphics();
Методы
- clearRect
Стирание содержимого прямоугольной области
public abstract void clearRect(int x, int y,
int width, int height);
- clipRect
Задание области ограничения вывода
public abstract void clipRect(int x, int y,
int width, int height);
- copyArea
Копирование содержимого прямоугольной области
public abstract void copyArea(int x, int y,
int width, int height, int dx, int dy);
- create
Создание контекста отображения
public abstract Graphics create();
public Graphics create(int x, int y,
int width, int height);
- dispose
Удаление контекста отображения
public abstract void dispose();
- draw3DRect
Рисование прямоугольной области с трехмерным выделением
public void draw3DRect(int x, int y,
int width, int height, boolean raised);
- drawArc
Рисование сегмента
public abstract void drawArc(int x, int y,
int width, int height,
int startAngle, int arcAngle);
Рисование сегмента
- drawBytes
Рисование текста из массива байт
public void drawBytes(byte data[],
int offset, int length, int x, int y);
- drawChars
Рисование текста из массива символов
public void drawChars(char data[],
int offset, int length, int x, int y);
- drawImage
Рисование растрового изображения
public abstract boolean drawImage(Image img,
int x, int y,
Color bgcolor, ImageObserver observer);
public abstract boolean drawImage(Image img,
int x, int y,
ImageObserver observer);
public abstract boolean drawImage(Image img,
int x, int y,
int width, int height, Color bgcolor,
ImageObserver observer);
public abstract boolean drawImage(Image img,
int x, int y,
int width, int height,
ImageObserver observer);
- drawLine
Рисование линии
public abstract void drawLine(int x1, int y1,
int x2, int y2);
- drawOval
Рисование овала
public abstract void drawOval(int x, int y,
int width, int height);
- drawPolygon
Рисование многоугольника
public abstract void drawPolygon(
int xPoints[],
int yPoints[], int nPoints);
public void drawPolygon(Polygon p);
- drawRect
Рисование прямоугольника
public void drawRect(int x, int y,
int width, int height);
- drawRoundRect
Рисование прямоугольника с круглыми углами
public abstract void drawRoundRect(
int x, int y,
int width, int height,
int arcWidth, int arcHeight);
- drawString
Рисование текстовой строки
public abstract void drawString(String str,
int x, int y);
- fill3DRect
Рисование заполненного прямоугольника с трехмерным выделением
public void fill3DRect(int x, int y,
int width, int height, boolean raised);
- fillArc
Рисование заполненного сегмента круга
public abstract void fillArc(int x,
int y, int width,
int height, int startAngle,
int arcAngle);
- fillOval
Рисование заполненного овала
public abstract void fillOval(int x, int y,
int width, int height);
- fillPolygon
Рисование заполненного многоугольника
public abstract void fillPolygon(
int xPoints[],
int yPoints[], int nPoints);
- fillPolygon
Рисование заполненного многоугольника
public void fillPolygon(Polygon p);
public abstract void fillRect(int x, int y,
int width, int height);
- fillRoundRect
Рисование заполненного прямоугольника с круглыми углами
public abstract void fillRoundRect(
int x, int y,
int width, int height,
int arcWidth, int arcHeight);
- finalize
Прослеживание вызова метода dispose
public void finalize();
- getClipRect
Определение границ области ограничения вывода
public abstract Rectangle getClipRect();
- getColor
Определение цвета, выбранного в контекст отображения
public abstract Color getColor();
- getFont
Определение шрифта, выбранного в контекст отображения
public abstract Font getFont();
- getFontMetrics
Определение метрик текущего шрифта
public FontMetrics getFontMetrics();
- getFontMetrics
Определение метрик заданного шрифта
public abstract FontMetrics
getFontMetrics(Font f);
- setColor
Установка цвета для рисования в контексте отображения
public abstract void setColor(Color c);
- setFont
Установка текущего шрифта в контексте отображения
public abstract void setFont(Font font);
- setPaintMode
Установка режима рисования
Метод setPaintMode устанавливает в контексте отображения режим рисования, при котором выполняется замещение изображения текущим цветом, установленном в контексте отображения.
public abstract void setPaintMode();
- setXORMode
Установка маски для рисования
Задавая маску для рисования при помощи метода setXORMode, вы можете выполнить при рисовании замещение текущего цвета на цвет, указанный в параметре метода, и наоборот, цвета, указанного в параметре метода, на текущий.
Все остальные цвета изменяются непредсказуемым образом, однако эта операция обратима, если вы нарисуете ту же самую фигуру два раза на одном и том же месте.
public abstract void setXORMode(Color c1);
- translate
Сдвиг начала системы координат
Метод translate сдвигает начало системы координат в контексте отображения таким образом, что оно перемещается в точку с координатами (x, y), заданными через параметры метода:
public abstract void translate(int x, int y);
- toString
Получение текстовой строки, представляющей данный контекст отображения
public String toString();