Контекст отображения

Оглавление

Рисование в окне
Контекст отображения
Установка атрибутов
Определение атрибутов
Рисование фигур
Аплет Draw
Исходные тексты
Проект аплета

## Контекст отображения

Назад Вперед

Проще всего представить себе контекст отображения как полотно, на котором рисует художник. Точно так же как художник может выбирать для рисования различные инструменты, программист, создающий аплет 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();

Назад Вперед

Java | Продукты и решения | Технологии | Сервис и обучение
О компании | Партнеры | Новости | Поиск