Spec-Zone.ru › OpenJDK 21

Класс Graphics

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

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

  • Объект Component, на котором нужно рисовать.
  • Начальная точка перевода для координат рендеринга и обрезки.
  • Текущая область обрезки.
  • Текущий цвет.
  • Текущий шрифт.
  • Текущая логическая функция операции над пикселями (XOR или рисование).
  • Текущий цвет для XOR (см. setXORMode(java.awt.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)
END_OF_DOCUMENT_MARKER

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

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)
Рисует 3D выделенную контурную рамку указанного прямоугольника.
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)
Рисует 3D выделенный прямоугольник, заполненный текущим цветом.
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) в текущей системе координат.

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

clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

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 если область обрезки не задана.
Since:
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)
Отображает 3D-рамку заданного прямоугольника с выделением. Края прямоугольника выделены так, что кажутся скошенными и освещенными с верхнего левого угла.

Цвета, используемые для выделения, определяются на основе текущего цвета. Результирующий прямоугольник занимает область размером 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)
Заполняет 3D-выделенный прямоугольник текущим цветом. Края прямоугольника будут выделены так, чтобы казаться скошенными и освещёнными с верхнего левого угла. Цвета, используемые для выделения, определяются на основе текущего цвета.
Параметры:
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. Фигура автоматически закрывается, рисуя линию, соединяющую последнюю точку с первой точкой, если эти точки разные.

Площадь внутри многоугольника определяется с помощью правила заполнения чётность-нечётность, также известного как правило чередования.

Parameters:
xPoints - массив координат x.
yPoints - массив координат y.
nPoints - общее количество точек.
See Also:
  • drawPolygon(int[], int[], int)

fillPolygon

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

Площадь внутри многоугольника определяется с помощью правила заполнения чётность-нечётность, также известного как правило чередования.

Parameters:
p - многоугольник для заполнения.
See Also:
  • drawPolygon(int[], int[], int)

drawString

public abstract void drawString(String str, int x, int y)
Рисует текст, заданный указанной строкой, используя текущий шрифт и цвет этого контекста графики. Линия основания самой левой буквы находится в позиции (x, y) в системе координат этого контекста графики.
Parameters:
str - строка для рисования.
x - координата x.
y - координата y.
Throws:
NullPointerException - если str является null.
See Also:
  • 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) в системе координат этого контекста графики.

Parameters:
iterator - итератор, текст которого должен быть нарисован
x - координата x.
y - координата y.
Throws:
NullPointerException - если iterator является null.
See Also:
  • 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) в системе координат этого контекста графики.
Parameters:
data - массив символов для рисования
offset - начальный смещение в данных
length - количество символов для рисования
x - координата x линии основания текста
y - координата y линии основания текста
Throws:
NullPointerException - если data является null.
IndexOutOfBoundsException - если offset или length меньше нуля, или offset+length больше длины массива data.
See Also:
  • drawBytes(byte[], int, int, int, int)
  • drawString(java.lang.String, int, int)

drawBytes

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

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

Parameters:
data - данные для рисования
offset - начальное смещение в данных
length - количество байтов, которые рисуются
x - координата x линии основания текста
y - координата y линии основания текста
Throws:
NullPointerException - если data является null.
IndexOutOfBoundsException - если offset или length меньше нуля, или offset+length больше длины массива data.
See Also:
  • drawChars(char[], int, int, int, int)
  • drawString(java.lang.String, int, int)

drawImage

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

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

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

Parameters:
img - указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
x - координата x.
y - координата y.
observer - объект, который будет уведомлён по мере того, как большее количество изображения будет преобразовано.
Returns:
false если пиксели изображения всё ещё изменяются; true в противном случае.
See Also:
  • 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.

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

Parameters:
img - указанное изображение для рисования. Этот метод ничего не делает, если img равно null.
x - координата x.
y - координата y.
width - ширина прямоугольника.
height - высота прямоугольника.
observer - объект, который будет уведомлён по мере поступления большего количества изображения.
Returns:
false если пиксели изображения всё ещё изменяются; true в противном случае.
See Also:
  • 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, и при поступлении новой части изображения или при необходимости отображения следующего кадра анимации, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.

Parameters:
img - заданное изображение для отображения. Этот метод ничего не делает, если img равно null.
x - координата x.
y - координата y.
bgcolor - цвет фона для заливки областей под непрозрачными частями изображения.
observer - объект, который будет уведомлен, когда станет доступно больше частей изображения.
Returns:
false если пиксели изображения все еще изменяются; true в противном случае.
See Also:
  • 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. По мере поступления новых частей изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.

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

Parameters:
img - заданное изображение для отображения. Этот метод ничего не делает, если img равно null.
x - координата x.
y - координата y.
width - ширина прямоугольника.
height - высота прямоугольника.
bgcolor - цвет фона для заливки областей под непрозрачными частями изображения.
observer - объект, который будет уведомлен, когда станет доступно больше частей изображения.
Returns:
false если пиксели изображения все еще изменяются; true в противном случае.
See Also:
  • 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. По мере поступления новых частей изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.

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

Parameters:
img - заданное изображение для отображения. Этот метод ничего не делает, если img равно null.
dx1 - координата x первого угла целевого прямоугольника.
dy1 - координата y первого угла целевого прямоугольника.
dx2 - координата x второго угла целевого прямоугольника.
dy2 - координата y второго угла целевого прямоугольника.
sx1 - координата x первого угла исходного прямоугольника.
sy1 - координата y первого угла исходного прямоугольника.
sx2 - координата x второго угла исходного прямоугольника.
sy2 - координата y второго угла исходного прямоугольника.
observer - объект, который будет уведомлен о масштабировании и преобразовании изображения.
Returns:
false если пиксели изображения все еще изменяются; true в противном случае.
Since:
1.1
See Also:
  • 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. По мере поступления новых частей изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.

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

Parameters:
img - заданное изображение для отображения. Этот метод ничего не делает, если img равно null.
dx1 - координата x первого угла целевого прямоугольника.
dy1 - координата y первого угла целевого прямоугольника.
dx2 - координата x второго угла целевого прямоугольника.
dy2 - координата y второго угла целевого прямоугольника.
sx1 - координата x первого угла исходного прямоугольника.
sy1 - координата y первого угла исходного прямоугольника.
sx2 - координата x второго угла исходного прямоугольника.
sy2 - координата y второго угла исходного прямоугольника.
bgcolor - цвет фона для заливки областей под непрозрачными частями изображения.
observer - объект, который будет уведомлен о масштабировании и преобразовании изображения.
Returns:
false если пиксели изображения все еще изменяются; true в противном случае.
Since:
1.1
See Also:
  • 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(java.awt.Graphics)
  • Component.update(java.awt.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, если он может гарантировать, что указанная прямоугольная область не пересекает текущую область обрезки. Область обрезки, используемая этим методом, может представлять собой пересечение пользовательской обрезки, указанной с помощью методов обрезки этого графического контекста, а также обрезки, связанной с границами устройства или изображения и видимостью окна.
Параметры:
x - координата x прямоугольника для проверки на пересечение с областью обрезки
y - координата y прямоугольника для проверки на пересечение с областью обрезки
width - ширина прямоугольника для проверки на пересечение с областью обрезки
height - высота прямоугольника для проверки на пересечение с областью обрезки
Возвращает:
true если указанный прямоугольник пересекает границы текущей области обрезки; false в противном случае.

getClipBounds

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

© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/Graphics.html

Spec-Zone.ru

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