Класс 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. Все рисование или написание выполняется текущим цветом, в текущем режиме рисования и текущим шрифтом.
- С момента:
- JDK1.0
- См. также:
-
Component,clipRect(int, int, int, int),setColor(java.awt.Color),setPaintMode(),setXORMode(java.awt.Color),setFont(java.awt.Font)
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
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) Копирует область компонента на расстояние, заданное значениями |
abstract Graphics |
create() Создаёт новый объект |
Graphics |
create(int x,
int y,
int width,
int height) Создаёт новый объект |
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 x,
int y,
Color bgcolor,
ImageObserver observer) Рисует ту часть указанного изображения, которая в данный момент доступна. |
abstract boolean |
drawImage(Image img,
int x,
int y,
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 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 void |
drawLine(int x1,
int y1,
int x2,
int 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) Рисует контур многоугольника, определённого указанным объектом |
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(AttributedCharacterIterator iterator,
int x,
int y) Отображает текст указанного итератора, применяя его атрибуты в соответствии со спецификацией класса |
abstract void |
drawString(String str,
int x,
int y) Рисует текст, заданный указанной строкой, используя текущий шрифт и цвет контекста графики. |
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() Удаляет этот контекст графики, когда он больше не используется. |
abstract Shape |
getClip() Получает текущую область обрезки. |
abstract Rectangle |
getClipBounds() Возвращает прямоугольник, ограничивающий текущую область обрезки. |
Rectangle |
getClipBounds(Rectangle r) Возвращает прямоугольник, ограничивающий текущую область обрезки. |
Rectangle |
getClipRect() Устарело. С версии JDK 1.1 заменено на |
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() Возвращает объект |
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если область обрезки не установлена. - С момента:
- JDK1.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- высота нового прямоугольника области обрезки. - С момента:
- JDK1.1
- См. также:
-
clipRect(int, int, int, int),setClip(Shape),getClip()
getClip
public abstract Shape getClip()
Получает текущую область обрезки. Этот метод возвращает область обрезки пользователя, которая не зависит от обрезки, связанной с границами устройства и видимостью окна. Если ранее не была установлена область обрезки, или если область обрезки была очищена с помощью setClip(null), этот метод возвращает null.
- Возвращает:
- объект
Shape, представляющий текущую область обрезки, илиnullесли область обрезки не установлена. - С момента:
- JDK1.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для установки обрезки - С:
- JDK1.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- общее количество точек - С:
- JDK1.1
- См. также:
drawPolygon(int[], int[], int)
drawPolygon
public abstract void drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints) Рисует замкнутый многоугольник, заданный массивами координат x и y. Каждая пара координат (x, y) определяет точку.
Этот метод рисует многоугольник, заданный nPoint отрезками прямых, где первые nPoint - 1 отрезков прямых — это отрезки прямых от (xPoints[i - 1], yPoints[i - 1]) до (xPoints[i], yPoints[i]), для 1 ≤ i ≤ nPoints. Фигура автоматически замыкается путём рисования линии, соединяющей последнюю точку с первой, если эти точки разные.
- Параметры:
-
xPoints- массив координатx. -
yPoints- массив координатy. -
nPoints- общее количество точек. - См. также:
-
fillPolygon(int[], int[], int),drawPolyline(int[], int[], int)
drawPolygon
public void drawPolygon(Polygon p)
Отрисовывает контур многоугольника, определённого заданным объектом Polygon.
- Параметры:
-
p- многоугольник для отрисовки. - См. также:
-
fillPolygon(int[], int[], int),drawPolyline(int[], int[], int)
fillPolygon
public abstract void fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints) Заполняет замкнутый многоугольник, заданный массивами координат x и y.
Этот метод рисует многоугольник, заданный nPoint отрезками прямых, где первые nPoint - 1 отрезков прямых — это отрезки прямых от (xPoints[i - 1], yPoints[i - 1]) до (xPoints[i], yPoints[i]), для 1 ≤ i ≤ nPoints. Фигура автоматически замыкается путём рисования линии, соединяющей последнюю точку с первой, если эти точки разные.
Область внутри многоугольника определяется с помощью правила заполнения чётность-нечётность, также известного как правило чередования.
- Параметры:
-
xPoints- массив координатx. -
yPoints- массив координатy. -
nPoints- общее количество точек. - См. также:
drawPolygon(int[], int[], int)
fillPolygon
public void fillPolygon(Polygon p)
Заполняет многоугольник, определённый заданным объектом Polygon, текущим цветом контекста графики.
Область внутри многоугольника определяется с помощью правила заполнения чётность-нечётность, также известного как правило чередования.
- Параметры:
-
p- многоугольник для заполнения. - См. также:
drawPolygon(int[], int[], int)
drawString
public abstract void drawString(String str,
int x,
int y) Рисует текст, заданный указанной строкой, используя текущий шрифт и цвет этого контекста графики. Базовая линия самого левого символа находится в позиции (x, y) в системе координат этого контекста графики.
- Параметры:
-
str- строка для отрисовки. -
x- координата x. -
y- координата y. - Исключения:
-
NullPointerException- еслиstrравенnull. - См. также:
-
drawBytes(byte[], int, int, int, int),drawChars(char[], int, int, int, int)
drawString
public abstract void drawString(AttributedCharacterIterator iterator,
int x,
int y) Отображает текст указанного итератора, применяя его атрибуты в соответствии со спецификацией класса TextAttribute.
Базовая линия самого левого символа находится в позиции (x, y) в системе координат этого контекста графики.
- Параметры:
-
iterator- итератор, текст которого нужно нарисовать -
x- координата x. -
y- координата y. - Исключения:
-
NullPointerException- еслиiteratorравенnull. - См. также:
-
drawBytes(byte[], int, int, int, int),drawChars(char[], int, int, int, int)
drawChars
public void drawChars(char[] data,
int offset,
int length,
int x,
int y) Рисует текст, заданный указанным массивом символов, используя текущий шрифт и цвет этого контекста графики. Базовая линия первого символа находится в позиции (x, y) в системе координат этого контекста графики.
- Параметры:
-
data- массив символов для отрисовки -
offset- начальный смещение в данных -
length- количество символов для отрисовки -
x- координата x базовой линии текста -
y- координата y базовой линии текста - Исключения:
-
NullPointerException- еслиdataравенnull. -
IndexOutOfBoundsException- еслиoffsetилиlengthменьше нуля, илиoffset+lengthбольше длины массиваdata. - См. также:
-
drawBytes(byte[], int, int, int, int),drawString(java.lang.String, int, int)
drawBytes
public void drawBytes(byte[] data,
int offset,
int length,
int x,
int y) Рисует текст, заданный указанным массивом байтов, используя текущий шрифт и цвет этого контекста графики. Базовая линия первого символа находится в позиции (x, y) в системе координат этого контекста графики.
Использование этого метода не рекомендуется, так как каждый байт интерпретируется как кодовая точка Юникода в диапазоне от 0 до 255, поэтому он может быть использован только для рисования латинских символов в этом диапазоне.
- Параметры:
-
data- данные, которые нужно отобразить -
offset- начальный смещение в данных -
length- количество байтов, которые нужно отобразить -
x- координата x базовой линии текста -
y- координата y базовой линии текста - Исключения:
-
NullPointerException- еслиdataравноnull. -
IndexOutOfBoundsException- еслиoffsetилиlengthменьше нуля, илиoffset+lengthбольше длины массиваdata. - См. также:
-
drawChars(char[], int, int, int, int),drawString(java.lang.String, int, int)
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
ImageObserver observer) Отображает часть указанного изображения, которая в настоящее время доступна. Изображение отображается с левым верхним углом в координатах (x, y) в системе координат текущего контекста графики. Прозрачные пиксели изображения не влияют на уже существующие пиксели.
Этот метод возвращает немедленно в любом случае, даже если полное изображение еще не загружено, и оно не было пофрагментировано и преобразовано для текущего устройства вывода.
Если изображение полностью загружено и его пиксели больше не изменяются, тогда drawImage возвращает true. В противном случае, drawImage возвращает false, и по мере доступности большей части изображения или при необходимости отрисовки следующей кадра анимации, процесс загрузки изображения уведомляет указанного наблюдателя изображений.
- Параметры:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
observer- объект, который будет уведомлен по мере преобразования большей части изображения. - Возвращает:
-
falseесли пиксели изображения все еще изменяются;trueв противном случае. - См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
ImageObserver observer) Отображает часть указанного изображения, которая уже была масштабирована для помещения в указанный прямоугольник.
Изображение отображается внутри указанного прямоугольника в системе координат текущего контекста графики и масштабируется при необходимости. Прозрачные пиксели не влияют на уже существующие пиксели.
Этот метод возвращает немедленно в любом случае, даже если все изображение еще не масштабировано, пофрагментировано и преобразовано для текущего устройства вывода. Если текущее представление вывода еще не завершено, то drawImage возвращает false. По мере доступности большей части изображения процесс загрузки изображения уведомляет наблюдателя изображений, вызвав его метод imageUpdate.
Масштабированная копия изображения не обязательно будет доступна сразу же только потому, что не масштабированная версия изображения была создана для этого устройства вывода. Каждый размер изображения может быть кэширован отдельно и сгенерирован из исходных данных в отдельной последовательности создания изображения.
- Параметры:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
width- ширина прямоугольника. -
height- высота прямоугольника. -
observer- объект, который будет уведомлен по мере преобразования большей части изображения. - Возвращает:
-
falseесли пиксели изображения все еще изменяются;trueв противном случае. - См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
Color bgcolor,
ImageObserver observer) Отображает часть указанного изображения, которая в настоящее время доступна. Изображение отображается с левым верхним углом в координатах (x, y) в системе координат текущего контекста графики. Прозрачные пиксели отображаются в указанном цвете фона.
Эта операция эквивалентна заполнению прямоугольника размером указанного изображения заданным цветом, а затем отображению изображения поверх него, но, возможно, более эффективна.
Этот метод возвращает немедленно в любом случае, даже если полное изображение еще не загружено, и оно не было пофрагментировано и преобразовано для текущего устройства вывода.
Если изображение полностью загружено и его пиксели больше не изменяются, тогда drawImage возвращает true. В противном случае, drawImage возвращает false, и по мере доступности большей части изображения или при необходимости отрисовки следующей кадра анимации, процесс загрузки изображения уведомляет указанного наблюдателя изображений.
- Параметры:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
bgcolor- цвет фона для заполнения под непрозрачными частями изображения. -
observer- объект, который будет уведомлен по мере преобразования большей части изображения. - Возвращает:
-
falseесли пиксели изображения все еще изменяются;trueв противном случае. - См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer) Отображает часть указанного изображения, которая уже была масштабирована для помещения в указанный прямоугольник.
Изображение отображается внутри указанного прямоугольника в системе координат текущего контекста графики и масштабируется при необходимости. Прозрачные пиксели отображаются в указанном цвете фона. Эта операция эквивалентна заполнению прямоугольника размером указанного изображения заданным цветом, а затем отображению изображения поверх него, но, возможно, более эффективна.
Этот метод возвращает немедленно в любом случае, даже если все изображение еще не масштабировано, пофрагментировано и преобразовано для текущего устройства вывода. Если текущее представление вывода еще не завершено, то drawImage возвращает false. По мере доступности большей части изображения процесс загрузки изображения уведомляет наблюдателя изображений.
Масштабированная копия изображения не обязательно будет доступна сразу же только потому, что не масштабированная версия изображения была создана для этого устройства вывода. Каждый размер изображения может быть кэширован отдельно и сгенерирован из исходных данных в отдельной последовательности создания изображения.
- Параметры:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
width- ширина прямоугольника. -
height- высота прямоугольника. -
bgcolor- цвет фона для заполнения под непрозрачными частями изображения. -
observer- объект, который будет уведомлен по мере преобразования большей части изображения. - Возвращает:
-
falseесли пиксели изображения все еще изменяются;trueв противном случае. - См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
drawImage
public abstract boolean drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
ImageObserver observer) Отображает часть указанного изображения, масштабируя её на лету для помещения в указанную область целевой области отображения. Прозрачные пиксели не влияют на уже существующие пиксели.
Этот метод возвращает немедленно в любом случае, даже если область изображения для отображения еще не масштабирована, пофрагментирована и преобразована для текущего устройства вывода. Если текущее представление вывода еще не завершено, то drawImage возвращает false. По мере доступности большей части изображения процесс загрузки изображения уведомляет указанного наблюдателя изображений.
Этот метод всегда использует не масштабированную версию изображения для отображения масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Он не использует кэшированную масштабированную версию изображения для этой операции. Масштабирование изображения из источника в пункт назначения выполняется таким образом, что первая координата прямоугольника источника отображается в первой координате прямоугольника пункта назначения, а вторая координата источника отображается во второй координате пункта назначения. Подизображение масштабируется и переворачивается по мере необходимости для сохранения этих отображений.
- Параметры:
-
img— указанное изображение для отрисовки. Этот метод ничего не делает, еслиimgравно null. -
dx1— координата x первого угла прямоугольника назначения. -
dy1— координата y первого угла прямоугольника назначения. -
dx2— координата x второго угла прямоугольника назначения. -
dy2— координата y второго угла прямоугольника назначения. -
sx1— координата x первого угла прямоугольника источника. -
sy1— координата y первого угла прямоугольника источника. -
sx2— координата x второго угла прямоугольника источника. -
sy2— координата y второго угла прямоугольника источника. -
observer— объект, который будет уведомлен о том, как больше части изображения масштабируется и преобразуется. - Возвращает:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - С:
- JDK1.1
- См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
drawImage
public abstract boolean drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
Color bgcolor,
ImageObserver observer) Отображает часть указанного изображения, масштабируя его на лету, чтобы он уместился в указанной области целевой поверхности отрисовки.
Прозрачные пиксели рисуются в указанный цвет фона. Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом, а затем отображению изображения поверх него, но, возможно, более эффективна.
Этот метод возвращает немедленно во всех случаях, даже если область изображения для отрисовки ещё не была отмасштабирована, побито дизъюнкцией, преобразована для текущего устройства вывода. Если текущее представление вывода ещё не завершено, то drawImage возвращает false. По мере доступности больше части изображения процесс, загружающий изображение, уведомляет указанный наблюдатель изображения.
Этот метод всегда использует неотмасштабированную версию изображения для рендеринга отмасштабированного прямоугольника и выполняет необходимое масштабирование на лету. Он не использует кэшированную, отмасштабированную версию изображения для этой операции. Масштабирование изображения от источника к назначению выполняется таким образом, что первая координата прямоугольника источника отображается на первую координату прямоугольника назначения, а вторая координата источника — на вторую координату назначения. Подизображение масштабируется и переворачивается по мере необходимости для сохранения этих сопоставлений.
- Параметры:
-
img— указанное изображение для отрисовки. Этот метод ничего не делает, еслиimgравно null. -
dx1— координата x первого угла прямоугольника назначения. -
dy1— координата y первого угла прямоугольника назначения. -
dx2— координата x второго угла прямоугольника назначения. -
dy2— координата y второго угла прямоугольника назначения. -
sx1— координата x первого угла прямоугольника источника. -
sy1— координата y первого угла прямоугольника источника. -
sx2— координата x второго угла прямоугольника источника. -
sy2— координата y второго угла прямоугольника источника. -
bgcolor— цвет фона, используемый для заполнения непрозрачных участков изображения. -
observer— объект, который будет уведомлён о том, как больше части изображения масштабируется и преобразуется. - Возвращает:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - С:
- JDK1.1
- См. также:
-
Image,ImageObserver,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
dispose
public abstract void dispose()
Удаляет контекст графики и освобождает все используемые системные ресурсы. Объект Graphics не может быть использован после вызова dispose.
При выполнении Java-программы большое количество объектов Graphics может быть создано в короткий промежуток времени. Хотя процесс окончательной обработки сборщика мусора также удаляет те же системные ресурсы, предпочтительнее вручную освободить связанные ресурсы, вызвав этот метод, вместо того, чтобы полагаться на процесс окончательной обработки, который может не завершиться в течение длительного времени.
Объекты Graphics, предоставляемые в качестве аргументов методам paint и update компонентов, автоматически освобождаются системой при возвращении этих методов. Для повышения эффективности программисты должны вызывать dispose при завершении использования объекта Graphics только в том случае, если он был создан непосредственно из компонента или другого объекта Graphics.
- См. также:
-
finalize(),Component.paint(java.awt.Graphics),Component.update(java.awt.Graphics),Component.getGraphics(),create()
finalize
public void finalize()
Удаляет контекст графики, когда он больше не ссылается.
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, 2020, 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.