Spec-Zone.ru › OpenJDK 27

Класс Graphics

java.lang.Object
java.awt.Graphics
Прямые известные подклассы:
DebugGraphics, Graphics2D
public abstract class Graphics extends Object
Класс Graphics является абстрактным базовым классом для всех графических контекстов, позволяющих приложению рисовать на компонентах, реализованных на различных устройствах, а также на внеэкранных изображениях.

Объект Graphics инкапсулирует информацию о состоянии, необходимую для основных операций визуализации, поддерживаемых Java. Эта информация о состоянии включает следующие свойства:

  • Объект Component, на котором выполняется рисование.
  • Начало координат преобразования для координат визуализации и отсечения.
  • Текущая область отсечения.
  • Текущий цвет.
  • Текущий шрифт.
  • Текущая функция логической операции над пикселями (XOR или Paint).
  • Текущий чередующийся цвет XOR (см. setXORMode(Color)).

Координаты бесконечно тонкие и располагаются между пикселями устройства вывода. Операции, рисующие контур фигуры, выполняются путем прохождения по бесконечно тонкому пути между пикселями пером размером в пиксель, которое свисает вниз и вправо от опорной точки на пути. Операции заливки фигуры заполняют внутреннюю область этого бесконечно тонкого пути. Операции отображения горизонтального текста выводят восходящую часть глифов символов целиком выше координаты базовой линии.

Графическое перо свисает вниз и вправо от проходящего под ним пути. Это имеет следующие последствия:

  • Если нарисовать фигуру, покрывающую заданный прямоугольник, эта фигура занимает на один дополнительный ряд пикселей у правого и нижнего краев по сравнению с заливкой фигуры, ограниченной тем же прямоугольником.
  • Если нарисовать горизонтальную линию вдоль той же координаты y, что и базовая линия строки текста, линия будет проходить целиком под текстом, за исключением нижних выносных элементов.

Все координаты, передаваемые в качестве аргументов методам этого объекта Graphics, считаются относительными к началу координат преобразования этого объекта Graphics перед вызовом метода.

Все операции визуализации изменяют только пиксели, лежащие в области, ограниченной текущей областью отсечения, которая задается объектом Shape в пользовательском пространстве и управляется программой с помощью объекта Graphics. Эта пользовательская область отсечения преобразуется в пространство устройства и объединяется с областью отсечения устройства, определяемой видимостью окон и границами устройства. Объединение пользовательской области отсечения и области отсечения устройства определяет составную область отсечения, которая задает итоговую область отсечения. Система визуализации не может изменить пользовательскую область отсечения, чтобы отразить результирующую составную область отсечения. Пользовательскую область отсечения можно изменить только с помощью методов setClip или clipRect. Все рисование и вывод текста выполняются текущим цветом, с использованием текущего режима рисования и текущего шрифта.

Начиная с:
1.0
См. также:
  • Component
  • clipRect(int, int, int, int)
  • setColor(java.awt.Color)
  • setPaintMode()
  • setXORMode(java.awt.Color)
  • setFont(java.awt.Font)

Краткое описание конструкторов

Graphics()
Модификатор Конструктор Описание
protected
Создает новый объект Graphics.

Краткое описание методов

Модификатор и тип Метод Описание
abstract void clearRect(int x, int y, int width, int height)
Очищает указанный прямоугольник, заполняя его цветом фона текущей поверхности рисования.
abstract void clipRect(int x, int y, int width, int height)
Пересекает текущую область отсечения с указанным прямоугольником.
abstract void copyArea(int x, int y, int width, int height, int dx, int dy)
Копирует область компонента на расстояние, заданное значениями dx и dy.
abstract Graphics create()
Создает новый объект Graphics, являющийся копией этого объекта Graphics.
Graphics create(int x, int y, int width, int height)
Создает новый объект Graphics на основе этого объекта Graphics, но с новыми смещением и областью отсечения.
abstract void dispose()
Освобождает этот графический контекст и все используемые им системные ресурсы.
void draw3DRect(int x, int y, int width, int height, boolean raised)
Рисует рельефный контур указанного прямоугольника.
abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Рисует контур круговой или эллиптической дуги, ограниченной указанным прямоугольником.
void drawBytes(byte[] data, int offset, int length, int x, int y)
Рисует текст, заданный указанным массивом байтов, используя текущие шрифт и цвет этого графического контекста.
void drawChars(char[] data, int offset, int length, int x, int y)
Рисует текст, заданный указанным массивом символов, используя текущие шрифт и цвет этого графического контекста.
abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
Рисует доступную в данный момент часть указанной области указанного изображения, масштабируя ее на лету, чтобы она поместилась в заданную область целевой поверхности рисования.
abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
Рисует доступную в данный момент часть указанной области указанного изображения, масштабируя ее на лету, чтобы она поместилась в заданную область целевой поверхности рисования.
abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Рисует доступную часть указанного изображения, уже масштабированного для размещения в заданном прямоугольнике.
abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Рисует доступную часть указанного изображения, уже масштабированного для размещения в заданном прямоугольнике.
abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Рисует доступную в данный момент часть указанного изображения.
abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
Рисует доступную в данный момент часть указанного изображения.
abstract void drawLine(int x1, int y1, int x2, int y2)
Рисует линию текущим цветом между точками (x1, y1) и (x2, y2) в системе координат этого графического контекста.
abstract void drawOval(int x, int y, int width, int height)
Рисует контур овала.
abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Рисует замкнутый многоугольник, заданный массивами координат x и y.
void drawPolygon(Polygon p)
Рисует контур многоугольника, заданного указанным объектом Polygon.
abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Рисует последовательность соединенных линий, заданную массивами координат x и y.
void drawRect(int x, int y, int width, int height)
Рисует контур указанного прямоугольника.
abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Рисует контур прямоугольника с закругленными углами, используя текущий цвет этого графического контекста.
abstract void drawString(String str, int x, int y)
Рисует текст, заданный указанной строкой, используя текущие шрифт и цвет этого графического контекста.
abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
Отображает текст указанного итератора, применяя его атрибуты в соответствии со спецификацией класса TextAttribute.
void fill3DRect(int x, int y, int width, int height, boolean raised)
Рисует рельефный прямоугольник, заполненный текущим цветом.
abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Заполняет круговую или эллиптическую дугу, ограниченную указанным прямоугольником.
abstract void fillOval(int x, int y, int width, int height)
Заполняет текущим цветом овал, ограниченный указанным прямоугольником.
abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Заполняет замкнутый многоугольник, заданный массивами координат x и y.
void fillPolygon(Polygon p)
Заполняет многоугольник, заданный указанным объектом Polygon, текущим цветом графического контекста.
abstract void fillRect(int x, int y, int width, int height)
Заполняет указанный прямоугольник.
abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Заполняет указанный прямоугольник с закругленными углами текущим цветом.
void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация помечена как устаревшая и будет удалена.
abstract Shape getClip()
Возвращает текущую область отсечения.
abstract Rectangle getClipBounds()
Возвращает ограничивающий прямоугольник текущей области отсечения.
Rectangle getClipBounds(Rectangle r)
Возвращает ограничивающий прямоугольник текущей области отсечения.
Rectangle getClipRect()
Устарело.
Начиная с JDK версии 1.1 заменено на getClipBounds().
abstract Color getColor()
Возвращает текущий цвет этого графического контекста.
abstract Font getFont()
Возвращает текущий шрифт.
FontMetrics getFontMetrics()
Возвращает метрики текущего шрифта.
abstract FontMetrics getFontMetrics(Font f)
Возвращает метрики указанного шрифта.
boolean hitClip(int x, int y, int width, int height)
Возвращает true, если указанная прямоугольная область может пересекаться с текущей областью отсечения.
abstract void setClip(int x, int y, int width, int height)
Задает текущую область отсечения прямоугольником, определенным указанными координатами.
abstract void setClip(Shape clip)
Задает произвольную форму отсечения для текущей области отсечения.
abstract void setColor(Color c)
Задает указанный цвет как текущий цвет этого графического контекста.
abstract void setFont(Font font)
Задает указанный шрифт как шрифт этого графического контекста.
abstract void setPaintMode()
Устанавливает режим рисования этого графического контекста, при котором целевая поверхность перезаписывается текущим цветом этого графического контекста.
abstract void setXORMode(Color c1)
Устанавливает режим рисования этого графического контекста, при котором происходит переключение между текущим цветом этого графического контекста и новым указанным цветом.
String toString()
Возвращает объект String, представляющий значение этого объекта Graphics.
abstract void translate(int x, int y)
Перемещает начало координат графического контекста в точку (x, y) в текущей системе координат.

Методы, объявленные в классе Object

clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

Graphics

protected Graphics()
Создает новый объект Graphics. Этот конструктор является конструктором по умолчанию для графического контекста.

Поскольку Graphics является абстрактным классом, приложения не могут вызывать этот конструктор напрямую. Графические контексты получают из других графических контекстов или создают, вызывая getGraphics для компонента.

См. также:
  • create()
  • Component.getGraphics()

Подробное описание методов

create

public abstract Graphics create()
Создает новый объект Graphics, являющийся копией этого объекта Graphics.
Возвращает:
новый графический контекст, являющийся копией этого графического контекста.

create

public Graphics create(int x, int y, int width, int height)
Создает новый объект Graphics на основе этого объекта Graphics, но с новым смещением и областью отсечения. Начало координат нового объекта Graphics смещается в указанную точку (x, y). Его область отсечения определяется пересечением исходной области отсечения с указанным прямоугольником. Все аргументы интерпретируются в системе координат исходного объекта Graphics. Новый графический контекст идентичен исходному, за исключением двух особенностей:
  • Новый графический контекст смещен на (x, y). То есть точка (0, 0) в новом графическом контексте совпадает с точкой (x, y) в исходном графическом контексте.
  • В новом графическом контексте добавлен прямоугольник отсечения, в дополнение к любому (смещенному) прямоугольнику отсечения, унаследованному от исходного графического контекста. Начало нового прямоугольника отсечения находится в точке (0, 0), а его размер задается аргументами width и height.
Параметры:
x — координата x.
y — координата y.
width — ширина прямоугольника отсечения.
height — высота прямоугольника отсечения.
Возвращает:
новый графический контекст.
См. также:
  • translate(int, int)
  • clipRect(int, int, int, int)

translate

public abstract void translate(int x, int y)
Перемещает начало координат графического контекста в точку (x, y) в текущей системе координат. Изменяет этот графический контекст таким образом, что его новое начало координат соответствует точке (x, y) в исходной системе координат этого графического контекста. Все координаты, используемые в последующих операциях отрисовки в этом графическом контексте, будут отсчитываться относительно нового начала координат.
Параметры:
x — координата x.
y — координата y.

getColor

public abstract Color getColor()
Возвращает текущий цвет этого графического контекста.
Возвращает:
текущий цвет этого графического контекста.
См. также:
  • Color
  • setColor(Color)

setColor

public abstract void setColor(Color c)
Задает текущий цвет этого графического контекста. Во всех последующих графических операциях, выполняемых с помощью этого графического контекста, будет использоваться указанный цвет. Аргумент null игнорируется без уведомления.
Параметры:
c — новый цвет отрисовки.
См. также:
  • Color
  • getColor()

setPaintMode

public abstract void setPaintMode()
Задает для этого графического контекста режим рисования, при котором целевая область перезаписывается текущим цветом графического контекста. При этом логическая функция обработки пикселей переводится в режим рисования или перезаписи. Все последующие операции отрисовки будут перезаписывать целевую область текущим цветом.

setXORMode

public abstract void setXORMode(Color c1)
Задает для этого графического контекста режим рисования, в котором чередуются текущий цвет графического контекста и новый указанный цвет. Это означает, что логические операции над пикселями выполняются в режиме XOR, в котором пиксели чередуются между текущим цветом и указанным цветом XOR.

При выполнении операций рисования пиксели текущего цвета меняются на указанный цвет, и наоборот.

Пиксели других цветов изменяются непредсказуемым, но обратимым образом; если одну и ту же фигуру нарисовать дважды, все пиксели восстановят исходные значения.

Параметры:
c1 — цвет чередования XOR

getFont

public abstract Font getFont()
Возвращает текущий шрифт.
Возвращает:
текущий шрифт этого графического контекста.
См. также:
  • Font
  • setFont(Font)

setFont

public abstract void setFont(Font font)
Задает для этого графического контекста указанный шрифт. Во всех последующих текстовых операциях, выполняемых с помощью этого графического контекста, будет использоваться этот шрифт. Аргумент null игнорируется без уведомления.
Параметры:
font — шрифт.
См. также:
  • getFont()
  • drawString(java.lang.String, int, int)
  • drawBytes(byte[], int, int, int, int)
  • drawChars(char[], int, int, int, int)

getFontMetrics

public FontMetrics getFontMetrics()
Возвращает метрики текущего шрифта.
Возвращает:
метрики текущего шрифта этого графического контекста.
См. также:
  • getFont()
  • FontMetrics
  • getFontMetrics(Font)

getFontMetrics

public abstract FontMetrics getFontMetrics(Font f)
Возвращает метрики указанного шрифта.
Параметры:
f — указанный шрифт
Возвращает:
метрики указанного шрифта.
См. также:
  • getFont()
  • FontMetrics
  • getFontMetrics()

getClipBounds

public abstract Rectangle getClipBounds()
Возвращает ограничивающий прямоугольник текущей области отсечения. Этот метод относится к пользовательской области отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. Если область отсечения ранее не задавалась или была очищена с помощью setClip(null), этот метод возвращает null. Координаты прямоугольника отсчитываются относительно начала координат этого графического контекста.
Возвращает:
ограничивающий прямоугольник текущей области отсечения или null, если область отсечения не задана.
Начиная с версии:
1.1
См. также:
  • getClip()
  • clipRect(int, int, int, int)
  • setClip(int, int, int, int)
  • setClip(Shape)

clipRect

public abstract void clipRect(int x, int y, int width, int height)
Пересекает текущую область отсечения с указанным прямоугольником. Полученная область отсечения представляет собой пересечение текущей области отсечения и указанного прямоугольника. Если текущая область отсечения отсутствует, поскольку она никогда не задавалась или была очищена с помощью setClip(null), указанный прямоугольник становится новой областью отсечения. Этот метод задает пользовательскую область отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. С помощью этого метода можно только уменьшить текущую область отсечения. Чтобы увеличить текущую область отсечения, используйте любой из методов setClip. Операции отрисовки не влияют на область за пределами области отсечения.
Параметры:
x — координата x прямоугольника, пересекаемого с областью отсечения
y — координата y прямоугольника, пересекаемого с областью отсечения
width — ширина прямоугольника, пересекаемого с областью отсечения
height — высота прямоугольника, пересекаемого с областью отсечения
См. также:
  • setClip(int, int, int, int)
  • setClip(Shape)

setClip

public abstract void setClip(int x, int y, int width, int height)
Задает текущую область отсечения прямоугольником, определяемым указанными координатами. Этот метод задает пользовательскую область отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. Операции отрисовки не влияют на область за пределами области отсечения.
Параметры:
x — координата x нового прямоугольника отсечения.
y — координата y нового прямоугольника отсечения.
width — ширина нового прямоугольника отсечения.
height — высота нового прямоугольника отсечения.
Начиная с версии:
1.1
См. также:
  • clipRect(int, int, int, int)
  • setClip(Shape)
  • getClip()

getClip

public abstract Shape getClip()
Возвращает текущую область отсечения. Этот метод возвращает пользовательскую область отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. Если область отсечения ранее не задавалась или была очищена с помощью setClip(null), этот метод возвращает null.
Возвращает:
объект Shape, представляющий текущую область отсечения, или null, если область отсечения не задана.
Начиная с версии:
1.1
См. также:
  • getClipBounds()
  • clipRect(int, int, int, int)
  • setClip(int, int, int, int)
  • setClip(Shape)

setClip

public abstract void setClip(Shape clip)
Задает текущую область отсечения произвольной фигурой. Не все объекты, реализующие интерфейс Shape, можно использовать для задания области отсечения. Гарантированно поддерживаются только объекты Shape, полученные с помощью метода Shape, а также объекты getClip, полученные через Rectangle. Этот метод задает пользовательскую область отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна.
Параметры:
clip — объект Shape, используемый для задания области отсечения. Передача null очищает текущую область clip.
Начиная с версии:
1.1
См. также:
  • getClip()
  • clipRect(int, int, int, int)
  • setClip(int, int, int, int)

copyArea

public abstract void copyArea(int x, int y, int width, int height, int dx, int dy)
Копирует область компонента на расстояние, заданное параметрами dx и dy. Из точки, заданной параметрами x и y, этот метод копирует вниз и вправо. Чтобы скопировать область компонента влево или вверх, укажите отрицательное значение для dx или dy. Если часть исходного прямоугольника находится за пределами компонента или скрыта другим окном либо компонентом, copyArea не сможет скопировать соответствующие пиксели. Пропущенную область можно обновить, вызвав метод paint компонента.
Параметры:
x — координата x исходного прямоугольника.
y — координата y исходного прямоугольника.
width — ширина исходного прямоугольника.
height — высота исходного прямоугольника.
dx — горизонтальное расстояние копирования пикселей.
dy — вертикальное расстояние копирования пикселей.

drawLine

public abstract void drawLine(int x1, int y1, int x2, int y2)
Рисует линию текущим цветом между точками (x1, y1) и (x2, y2) в системе координат данного графического контекста.
Параметры:
x1 — координата x первой точки.
y1 — координата y первой точки.
x2 — координата x второй точки.
y2 — координата y второй точки.

fillRect

public abstract void fillRect(int x, int y, int width, int height)
Заполняет указанный прямоугольник. Левая и правая границы прямоугольника находятся в точках x и x + width - 1. Верхняя и нижняя границы находятся в точках y и y + height - 1. Полученный прямоугольник занимает область шириной width пикселей и высотой height пикселей. Прямоугольник заполняется текущим цветом графического контекста.
Параметры:
x — координата x заполняемого прямоугольника.
y — координата y заполняемого прямоугольника.
width — ширина заполняемого прямоугольника.
height — высота заполняемого прямоугольника.
См. также:
  • clearRect(int, int, int, int)
  • drawRect(int, int, int, int)

drawRect

public void drawRect(int x, int y, int width, int height)
Рисует контур указанного прямоугольника. Левая и правая границы прямоугольника находятся в точках x и x + width. Верхняя и нижняя границы находятся в точках y и y + height. Прямоугольник рисуется текущим цветом графического контекста.
Параметры:
x — координата x рисуемого прямоугольника.
y — координата y рисуемого прямоугольника.
width — ширина рисуемого прямоугольника.
height — высота рисуемого прямоугольника.
См. также:
  • fillRect(int, int, int, int)
  • clearRect(int, int, int, int)

clearRect

public abstract void clearRect(int x, int y, int width, int height)
Очищает указанный прямоугольник, заполняя его цветом фона текущей поверхности рисования. Эта операция не использует текущий режим рисования.

Начиная с Java 1.1, цвет фона внеэкранных изображений может зависеть от системы. Чтобы очистить внеэкранное изображение до заданного цвета, приложениям следует использовать setColor, а затем fillRect.

Параметры:
x — координата x очищаемого прямоугольника.
y — координата y очищаемого прямоугольника.
width — ширина очищаемого прямоугольника.
height — высота очищаемого прямоугольника.
См. также:
  • fillRect(int, int, int, int)
  • drawRect(int, int, int, int)
  • setColor(java.awt.Color)
  • setPaintMode()
  • setXORMode(java.awt.Color)

drawRoundRect

public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Рисует контур прямоугольника со скруглёнными углами текущим цветом графического контекста. Левая и правая границы прямоугольника находятся соответственно в точках x и x + width. Верхняя и нижняя границы прямоугольника находятся соответственно в точках y и y + height.
Параметры:
x — координата x рисуемого прямоугольника.
y — координата y рисуемого прямоугольника.
width — ширина рисуемого прямоугольника.
height — высота рисуемого прямоугольника.
arcWidth — горизонтальный диаметр дуги в четырёх углах.
arcHeight — вертикальный диаметр дуги в четырёх углах.
См. также:
  • fillRoundRect(int, int, int, int, int, int)

fillRoundRect

public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
Заполняет указанный прямоугольник со скруглёнными углами текущим цветом. Левая и правая границы прямоугольника находятся соответственно в точках x и x + width - 1. Верхняя и нижняя границы прямоугольника находятся соответственно в точках y и y + height - 1.
Параметры:
x — координата x заполняемого прямоугольника.
y — координата y заполняемого прямоугольника.
width — ширина заполняемого прямоугольника.
height — высота заполняемого прямоугольника.
arcWidth — горизонтальный диаметр дуги в четырёх углах.
arcHeight — вертикальный диаметр дуги в четырёх углах.
См. также:
  • drawRoundRect(int, int, int, int, int, int)

draw3DRect

public void draw3DRect(int x, int y, int width, int height, boolean raised)
Рисует указанный прямоугольник с контуром, выделенным трёхмерным эффектом. Границы прямоугольника выделяются так, чтобы казаться скошенными и освещёнными из верхнего левого угла.

Цвета для эффекта выделения определяются на основе текущего цвета. Полученный прямоугольник занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.

Параметры:
x — координата x рисуемого прямоугольника.
y — координата y рисуемого прямоугольника.
width — ширина рисуемого прямоугольника.
height — высота рисуемого прямоугольника.
raised — логическое значение, определяющее, будет ли прямоугольник выглядеть выступающим над поверхностью или утопленным в неё.
См. также:
  • fill3DRect(int, int, int, int, boolean)

fill3DRect

public void fill3DRect(int x, int y, int width, int height, boolean raised)
Рисует залитый текущим цветом прямоугольник с трёхмерным эффектом выделения. Границы прямоугольника выделяются так, чтобы казаться скошенными и освещёнными из верхнего левого угла. Цвета для эффекта выделения определяются на основе текущего цвета.
Параметры:
x — координата x заполняемого прямоугольника.
y — координата y заполняемого прямоугольника.
width — ширина заполняемого прямоугольника.
height — высота заполняемого прямоугольника.
raised — логическое значение, определяющее, будет ли прямоугольник выглядеть выступающим над поверхностью или выдавленным в неё.
См. также:
  • draw3DRect(int, int, int, int, boolean)

drawOval

public abstract void drawOval(int x, int y, int width, int height)
Рисует контур овала. В результате получается круг или эллипс, вписанный в прямоугольник, заданный аргументами x, y, width и height.

Овал занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.

Параметры:
x — координата x верхнего левого угла рисуемого овала.
y — координата y верхнего левого угла рисуемого овала.
width — ширина рисуемого овала.
height — высота рисуемого овала.
См. также:
  • fillOval(int, int, int, int)

fillOval

public abstract void fillOval(int x, int y, int width, int height)
Заполняет текущим цветом овал, ограниченный указанным прямоугольником.
Параметры:
x — координата x верхнего левого угла заполняемого овала.
y — координата y верхнего левого угла заполняемого овала.
width — ширина заполняемого овала.
height — высота заполняемого овала.
См. также:
  • drawOval(int, int, int, int)

drawArc

public abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Рисует контур круговой или эллиптической дуги, охватывающей указанный прямоугольник.

Полученная дуга начинается с угла startAngle и имеет угловую протяжённость arcAngle градусов; для рисования используется текущий цвет. Углы интерпретируются так, что 0 градусов соответствует положению на 3 часа. Положительное значение обозначает вращение против часовой стрелки, а отрицательное — по часовой стрелке.

Центр дуги совпадает с центром прямоугольника, начало которого задано координатами (x, y), а размер — аргументами width и height.

Полученная дуга занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.

Углы задаются относительно сторон ограничивающего прямоугольника, которые могут иметь разную длину, так что угол 45 градусов всегда лежит на линии, идущей от центра эллипса к верхнему правому углу ограничивающего прямоугольника. Поэтому, если одна сторона ограничивающего прямоугольника заметно длиннее другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной стороны.

Параметры:
x — координата x верхнего левого угла рисуемой дуги.
y — координата y верхнего левого угла рисуемой дуги.
width — ширина рисуемой дуги.
height — высота рисуемой дуги.
startAngle — начальный угол.
arcAngle — угловая протяжённость дуги относительно начального угла.
См. также:
  • fillArc(int, int, int, int, int, int)

fillArc

public abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Заполняет круговую или эллиптическую дугу, занимающую указанный прямоугольник.

Полученная дуга начинается с startAngle и продолжается на arcAngle градусов. Углы задаются так, что 0 градусов соответствует положению «3 часа». Положительное значение указывает на вращение против часовой стрелки, а отрицательное — на вращение по часовой стрелке.

Центр дуги совпадает с центром прямоугольника, начало которого находится в точке (x, y), а размер задаётся аргументами width и height.

Полученная дуга занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.

Углы задаются относительно неравных размеров ограничивающего прямоугольника так, что угол 45 градусов всегда лежит на линии, соединяющей центр эллипса с верхним правым углом ограничивающего прямоугольника. Поэтому, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси ограничивающей области.

Параметры:
x — координата x верхнего левого угла заполняемой дуги.
y — координата y верхнего левого угла заполняемой дуги.
width — ширина заполняемой дуги.
height — высота заполняемой дуги.
startAngle — начальный угол.
arcAngle — угловая протяжённость дуги относительно начального угла.
См. также:
  • drawArc(int, int, int, int, int, int)

drawPolyline

public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Рисует последовательность соединённых линий, заданную массивами координат x и y. Каждая пара координат (x, y) задаёт точку. Фигура не замыкается, если первая точка отличается от последней.
Параметры:
xPoints — массив координат точек x
yPoints — массив координат точек y
nPoints — общее количество точек
Начиная с версии:
1.1
См. также:
  • drawPolygon(int[], int[], int)

drawPolygon

public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Рисует замкнутый многоугольник, заданный массивами координат x и y. Каждая пара координат (x, y) задаёт точку.

Этот метод рисует многоугольник, определённый nPoint отрезками, где первые nPoint - 1 отрезков соединяют (xPoints[i - 1], yPoints[i - 1]) с (xPoints[i], yPoints[i]) при 1 ≤ i ≤ nPoints. Фигура автоматически замыкается линией, соединяющей последнюю точку с первой, если эти точки различаются.

Параметры:
xPoints — массив координат x.
yPoints — массив координат y.
nPoints — общее количество точек.
См. также:
  • fillPolygon(int[], int[], int)
  • drawPolyline(int[], int[], int)

drawPolygon

public void drawPolygon(Polygon p)
Рисует контур многоугольника, заданного указанным объектом Polygon.
Параметры:
p — многоугольник для рисования.
См. также:
  • fillPolygon(int[], int[], int)
  • drawPolyline(int[], int[], int)

fillPolygon

public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Заполняет замкнутый многоугольник, заданный массивами координат x и y.

Этот метод рисует многоугольник, определённый nPoint отрезками, где первые nPoint - 1 отрезков соединяют (xPoints[i - 1], yPoints[i - 1]) с (xPoints[i], yPoints[i]) при 1 ≤ i ≤ nPoints. Фигура автоматически замыкается линией, соединяющей последнюю точку с первой, если эти точки различаются.

Область внутри многоугольника определяется правилом заливки чётными и нечётными участками, также известным как правило чередования.

Параметры:
xPoints — массив координат x.
yPoints — массив координат y.
nPoints — общее количество точек.
См. также:
  • drawPolygon(int[], int[], int)

fillPolygon

public void fillPolygon(Polygon p)
Заполняет многоугольник, заданный указанным объектом Polygon, текущим цветом графического контекста.

Область внутри многоугольника определяется правилом заливки чётными и нечётными участками, также известным как правило чередования.

Параметры:
p — многоугольник для заливки.
См. также:
  • drawPolygon(int[], int[], int)

drawString

public abstract void drawString(String str, int x, int y)
Рисует текст, заданный указанной строкой, используя текущие шрифт и цвет этого графического контекста. Базовая линия крайнего левого символа находится в точке (x, y) в системе координат этого графического контекста.
Параметры:
str — рисуемая строка.
x — координата x.
y — координата y.
Вызывает исключение:
NullPointerException — если str равно null.
См. также:
  • drawBytes(byte[], int, int, int, int)
  • drawChars(char[], int, int, int, int)

drawString

public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
Отображает текст указанного итератора, применяя его атрибуты в соответствии со спецификацией класса TextAttribute.

Базовая линия крайнего левого символа находится в точке (x, y) в системе координат этого графического контекста.

Параметры:
iterator — итератор, текст которого нужно нарисовать
x — координата x.
y — координата y.
Вызывает исключение:
NullPointerException — если iterator равно null.
См. также:
  • drawBytes(byte[], int, int, int, int)
  • drawChars(char[], int, int, int, int)

drawChars

public void drawChars(char[] data, int offset, int length, int x, int y)
Рисует текст, заданный указанным массивом символов, используя текущие шрифт и цвет этого графического контекста. Базовая линия первого символа находится в точке (x, y) в системе координат этого графического контекста.
Параметры:
data — массив рисуемых символов
offset — начальное смещение в данных
length — количество рисуемых символов
x — координата x базовой линии текста
y — координата y базовой линии текста
Вызывает исключение:
NullPointerException — если data равно null.
IndexOutOfBoundsException — если offset или length меньше нуля либо offset+length превышает длину массива data.
См. также:
  • drawBytes(byte[], int, int, int, int)
  • drawString(String, int, int)

drawBytes

public void drawBytes(byte[] data, int offset, int length, int x, int y)
Рисует текст, заданный указанным массивом байтов, используя текущие шрифт и цвет этого графического контекста. Базовая линия первого символа находится в точке (x, y) в системе координат этого графического контекста.

Использовать этот метод не рекомендуется, поскольку каждый байт интерпретируется как кодовая точка Unicode в диапазоне от 0 до 255, поэтому с его помощью можно рисовать только латинские символы из этого диапазона.

Параметры:
data — рисуемые данные
offset — начальное смещение в данных
length — количество рисуемых байтов
x — координата x базовой линии текста
y — координата y базовой линии текста
Вызывает исключение:
NullPointerException — если data равно null.
IndexOutOfBoundsException — если offset или length меньше нуля либо offset+length превышает длину массива data.
См. также:
  • drawChars(char[], int, int, int, int)
  • drawString(String, int, int)

drawImage

public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
Рисует доступную на данный момент часть указанного изображения. Изображение рисуется так, что его верхний левый угол находится в точке (x, y) в системе координат этого графического контекста. Прозрачные пиксели изображения не влияют на уже имеющиеся пиксели.

Этот метод во всех случаях немедленно возвращает управление, даже если изображение ещё не загружено полностью, не подвергнуто дизерингу и не преобразовано для текущего устройства вывода.

Если изображение полностью загружено и его пиксели больше не изменяются, drawImage возвращает true. В противном случае drawImage возвращает false, а по мере загрузки изображения или при наступлении времени отрисовки следующего кадра анимации процесс загрузки уведомляет указанного наблюдателя за изображением.

Параметры:
img — изображение для рисования. Этот метод ничего не делает, если img равно null.
x — координата x.
y — координата y.
observer — объект, который будет уведомлён по мере преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Рисует указанное изображение в той мере, в какой оно уже было масштабировано для размещения внутри указанного прямоугольника.

Изображение рисуется внутри указанного прямоугольника в системе координат данного графического контекста и при необходимости масштабируется. Прозрачные пиксели не влияют на уже имеющиеся пиксели.

Во всех случаях этот метод немедленно возвращает управление, даже если всё изображение ещё не было масштабировано, дизеринговано и преобразовано для текущего устройства вывода. Если текущее представление вывода ещё не готово, то drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс его загрузки уведомляет наблюдателя за изображением, вызывая его метод imageUpdate.

Масштабированная версия изображения не обязательно будет доступна сразу лишь потому, что для этого устройства вывода была создана немасштабированная версия изображения. Изображение каждого размера может кэшироваться отдельно и создаваться из исходных данных в отдельной последовательности формирования изображения.

Параметры:
img — указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
x — координата x.
y — координата y.
width — ширина прямоугольника.
height — высота прямоугольника.
observer — объект, который будет уведомлён по мере преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Рисует указанное изображение в той мере, в какой оно доступно на данный момент. Изображение рисуется так, чтобы его верхний левый угол находился в точке (x, y) в системе координат данного графического контекста. Прозрачные пиксели закрашиваются указанным цветом фона.

Эта операция эквивалентна заливке прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.

Во всех случаях этот метод немедленно возвращает управление, даже если изображение ещё не было полностью загружено, дизеринговано и преобразовано для текущего устройства вывода.

Если изображение полностью загружено и его пиксели больше не изменяются, то drawImage возвращает true. В противном случае drawImage возвращает false, а по мере того как становится доступна новая часть изображения или наступает время отрисовать следующий кадр анимации, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.

Параметры:
img — указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
x — координата x.
y — координата y.
bgcolor — цвет фона, которым закрашиваются непрозрачные участки изображения.
observer — объект, который будет уведомлён по мере преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Рисует указанное изображение в той мере, в какой оно уже было масштабировано для размещения внутри указанного прямоугольника.

Изображение рисуется внутри указанного прямоугольника в системе координат данного графического контекста и при необходимости масштабируется. Прозрачные пиксели закрашиваются указанным цветом фона. Эта операция эквивалентна заливке прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.

Во всех случаях этот метод немедленно возвращает управление, даже если всё изображение ещё не было масштабировано, дизеринговано и преобразовано для текущего устройства вывода. Если текущее представление вывода ещё не готово, то drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс его загрузки уведомляет указанного наблюдателя за изображением.

Масштабированная версия изображения не обязательно будет доступна сразу лишь потому, что для этого устройства вывода была создана немасштабированная версия изображения. Изображение каждого размера может кэшироваться отдельно и создаваться из исходных данных в отдельной последовательности формирования изображения.

Параметры:
img — указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
x — координата x.
y — координата y.
width — ширина прямоугольника.
height — высота прямоугольника.
bgcolor — цвет фона, которым закрашиваются непрозрачные участки изображения.
observer — объект, который будет уведомлён по мере преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
Рисует указанную область заданного изображения в той мере, в какой она доступна на данный момент, масштабируя её на лету для размещения в указанной области целевой поверхности рисования. Прозрачные пиксели не влияют на уже имеющиеся пиксели.

Во всех случаях этот метод немедленно возвращает управление, даже если область изображения, которую нужно нарисовать, ещё не была масштабирована, дизерингована и преобразована для текущего устройства вывода. Если текущее представление вывода ещё не готово, то drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс его загрузки уведомляет указанного наблюдателя за изображением.

Этот метод всегда использует немасштабированную версию изображения для отрисовки масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Для этой операции он не использует кэшированную масштабированную версию изображения. Масштабирование изображения от источника к месту назначения выполняется так, чтобы первая координата исходного прямоугольника соответствовала первой координате прямоугольника назначения, а вторая координата источника — второй координате назначения. Подизображение масштабируется и при необходимости отражается, чтобы сохранить эти соответствия.

Параметры:
img — указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
dx1 — координата x первого угла прямоугольника назначения.
dy1 — координата y первого угла прямоугольника назначения.
dx2 — координата x второго угла прямоугольника назначения.
dy2 — координата y второго угла прямоугольника назначения.
sx1 — координата x первого угла исходного прямоугольника.
sy1 — координата y первого угла исходного прямоугольника.
sx2 — координата x второго угла исходного прямоугольника.
sy2 — координата y второго угла исходного прямоугольника.
observer — объект, который будет уведомлён по мере масштабирования и преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
С версии:
1.1
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

drawImage

public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
Рисует указанную область заданного изображения в той мере, в какой она доступна на данный момент, масштабируя её на лету для размещения в указанной области целевой поверхности рисования.

Прозрачные пиксели закрашиваются указанным цветом фона. Эта операция эквивалентна заливке прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.

Во всех случаях этот метод немедленно возвращает управление, даже если область изображения, которую нужно нарисовать, ещё не была масштабирована, дизерингована и преобразована для текущего устройства вывода. Если текущее представление вывода ещё не готово, то drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс его загрузки уведомляет указанного наблюдателя за изображением.

Этот метод всегда использует немасштабированную версию изображения для отрисовки масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Для этой операции он не использует кэшированную масштабированную версию изображения. Масштабирование изображения от источника к месту назначения выполняется так, чтобы первая координата исходного прямоугольника соответствовала первой координате прямоугольника назначения, а вторая координата источника — второй координате назначения. Подизображение масштабируется и при необходимости отражается, чтобы сохранить эти соответствия.

Параметры:
img — указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
dx1 — координата x первого угла прямоугольника назначения.
dy1 — координата y первого угла прямоугольника назначения.
dx2 — координата x второго угла прямоугольника назначения.
dy2 — координата y второго угла прямоугольника назначения.
sx1 — координата x первого угла исходного прямоугольника.
sy1 — координата y первого угла исходного прямоугольника.
sx2 — координата x второго угла исходного прямоугольника.
sy2 — координата y второго угла исходного прямоугольника.
bgcolor — цвет фона, которым закрашиваются непрозрачные участки изображения.
observer — объект, который будет уведомлён по мере масштабирования и преобразования изображения.
Возвращает:
false, если пиксели изображения всё ещё изменяются; в противном случае — true.
С версии:
1.1
См. также:
  • Image
  • ImageObserver
  • ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

dispose

public abstract void dispose()
Освобождает этот графический контекст и все используемые им системные ресурсы. Объект Graphics нельзя использовать после вызова dispose.

При выполнении программы Java за короткий промежуток времени может быть создано большое количество объектов Graphics. Хотя финализация сборщиком мусора также освобождает те же системные ресурсы, предпочтительнее вручную освобождать связанные ресурсы вызовом этого метода, а не полагаться на финализацию, которая может долгое время не завершаться.

Графические объекты, передаваемые в качестве аргументов методам paint и update компонентов, автоматически освобождаются системой после возврата этих методов. Для повышения эффективности программистам следует вызывать dispose после завершения работы с объектом Graphics, только если он был создан непосредственно компонентом или другим объектом Graphics.

См. также:
  • finalize()
  • Component.paint(Graphics)
  • Component.update(Graphics)
  • Component.getGraphics()
  • create()

finalize

@Deprecated(since="9", forRemoval=true) public void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация помечена как устаревшая и будет удалена. Справочную информацию и сведения о вариантах миграции см. в разделе Object.finalize().
Освобождает ресурсы этого графического контекста, когда на него больше нет ссылок.
Переопределяет:
finalize в классе Object
См. также:
  • dispose()

toString

public String toString()
Возвращает объект String, представляющий значение этого объекта Graphics.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого графического контекста.

getClipRect

@Deprecated public Rectangle getClipRect()
Устарело.
Начиная с JDK 1.1 заменено на getClipBounds().
Возвращает ограничивающий прямоугольник текущей области отсечения.
Возвращает:
ограничивающий прямоугольник текущей области отсечения или null, если отсечение не задано.

hitClip

public boolean hitClip(int x, int y, int width, int height)
Возвращает true, если указанная прямоугольная область может пересекаться с текущей областью отсечения. Координаты указанной прямоугольной области заданы в пользовательском пространстве координат относительно начала системы координат этого графического контекста. Этот метод может использовать алгоритм, который быстро вычисляет результат, но иногда возвращает true, даже если указанная прямоугольная область не пересекается с областью отсечения. Таким образом, используемый алгоритм может жертвовать точностью ради скорости, но никогда не вернёт false, если не может гарантировать, что указанная прямоугольная область не пересекается с текущей областью отсечения. Область отсечения, используемая этим методом, может представлять собой пересечение пользовательской области отсечения, заданной с помощью методов clip этого графического контекста, а также области отсечения, связанной с границами устройства или изображения и видимостью окна.
Параметры:
x — координата x прямоугольника, проверяемого на пересечение с областью отсечения
y — координата y прямоугольника, проверяемого на пересечение с областью отсечения
width — ширина прямоугольника, проверяемого на пересечение с областью отсечения
height — высота прямоугольника, проверяемого на пересечение с областью отсечения
Возвращает:
true, если указанный прямоугольник пересекается с границами текущей области отсечения; в противном случае — false.

getClipBounds

public Rectangle getClipBounds(Rectangle r)
Возвращает ограничивающий прямоугольник текущей области отсечения. Координаты в прямоугольнике заданы относительно начала системы координат этого графического контекста. Этот метод отличается от getClipBounds тем, что использует существующий прямоугольник вместо выделения нового. Этот метод относится к пользовательской области отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. Если отсечение ранее не задавалось или было очищено с помощью setClip(null), метод возвращает указанный Rectangle.
Параметры:
r — прямоугольник, в который копируется текущая область отсечения. Все текущие значения в этом прямоугольнике перезаписываются.
Возвращает:
ограничивающий прямоугольник текущей области отсечения.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API