Spec-Zone.ru › OpenJDK 17

Класс 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)

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

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

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

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

fill3DRect

public void fill3DRect(int x, int y, int width, int height, boolean raised)
Заливает 3D-выделенный прямоугольник текущим цветом. Края прямоугольника будут выделены таким образом, чтобы они выглядели скошенными и освещёнными с верхнего левого угла. Цвета, используемые для эффекта выделения, будут определены на основе текущего цвета.
Parameters:
x - координата x прямоугольника, который нужно заполнить.
y - координата y прямоугольника, который нужно заполнить.
width - ширина прямоугольника, который нужно заполнить.
height - высота прямоугольника, который нужно заполнить.
raised - логическое значение, определяющее, будет ли прямоугольник выглядеть выступающим над поверхностью или вдавленным в неё.
See Also:
  • 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 пикселей в высоту.

Parameters:
x - координата x верхнего левого угла овала, который нужно нарисовать.
y - координата y верхнего левого угла овала, который нужно нарисовать.
width - ширина овала, который нужно нарисовать.
height - высота овала, который нужно нарисовать.
See Also:
  • fillOval(int, int, int, int)

fillOval

public abstract void fillOval(int x, int y, int width, int height)
Заливает овал, ограниченный заданным прямоугольником, текущим цветом.
Parameters:
x - координата x верхнего левого угла овала, который нужно заполнить.
y - координата y верхнего левого угла овала, который нужно заполнить.
width - ширина овала, который нужно заполнить.
height - высота овала, который нужно заполнить.
See Also:
  • 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 градусов всегда попадает на линию от центра эллипса до правого верхнего угла ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси границ.

Parameters:
x - координата x верхнего левого угла дуги, которую нужно нарисовать.
y - координата y верхнего левого угла дуги, которую нужно нарисовать.
width - ширина дуги, которую нужно нарисовать.
height - высота дуги, которую нужно нарисовать.
startAngle - начальный угол.
arcAngle - угловое расширение дуги относительно начального угла.
See Also:
  • 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 градусов всегда попадает на линию от центра эллипса до правого верхнего угла ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси границ.

Parameters:
x - координата x верхнего левого угла дуги, которую нужно заполнить.
y - координата y верхнего левого угла дуги, которую нужно заполнить.
width - ширина дуги, которую нужно заполнить.
height - высота дуги, которую нужно заполнить.
startAngle - начальный угол.
arcAngle - угловое расширение дуги относительно начального угла.
See Also:
  • drawArc(int, int, int, int, int, int)

drawPolyline

public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
Рисует последовательность соединённых линий, определённых массивами координат x и y. Каждая пара координат (x, y) определяет точку. Фигура не является замкнутой, если первая точка отличается от последней.
Parameters:
xPoints - массив точек x
yPoints - массив точек y
nPoints - общее количество точек
Since:
1.1
See Also:
  • 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. Фигура автоматически закрывается путём рисования линии, соединяющей последнюю точку с первой точкой, если эти точки различны.

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

drawPolygon

public void drawPolygon(Polygon p)
Рисует контур многоугольника, заданного объектом Polygon.
Parameters:
p - многоугольник для рисования.
See Also:
  • 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") public void finalize()
Устарело.
Метод finalize устарел. Подклассы, переопределяющие метод finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределенного метода finalize. При переопределении метода finalize, его реализация должна явно гарантировать, что super.finalize() вызывается так, как описано в Object.finalize(). См. спецификацию для 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, 2021, 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/17/docs/api/java.desktop/java/awt/Graphics.html

Spec-Zone.ru

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