Класс AbstractRegionPainter
- Все реализуемые интерфейсы:
Painter<JComponent>
public abstract class AbstractRegionPainter extends Object implements Painter<JComponent>
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected static class |
AbstractRegionPainter.PaintContext |
Класс, инкапсулирующий состояние, полезное при отрисовке. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает новый AbstractRegionPainter |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected void |
configureGraphics |
Настраивает указанный Graphics2D. |
protected final float |
decodeAnchorX |
Декодирует и возвращает значение типа float, представляющее фактическое положение точки привязки в пикселях, заданное закодированным значением X контрольной точки и расстоянием смещения от этой контрольной точки до точки привязки. |
protected final float |
decodeAnchorY |
Декодирует и возвращает значение типа float, представляющее фактическое положение точки привязки в пикселях, заданное закодированным значением Y контрольной точки и расстоянием смещения от этой контрольной точки до точки привязки. |
protected final Color |
decodeColor |
Декодирует и возвращает цвет, полученный на основе смещения между двумя другими цветами. |
protected final Color |
decodeColor |
Декодирует и возвращает цвет, полученный на основе базового цвета из значений UI по умолчанию. |
protected final LinearGradientPaint |
decodeGradient |
На основании параметров для создания LinearGradientPaint этот метод создает и возвращает линейную градиентную заливку. |
protected final RadialGradientPaint |
decodeRadialGradient |
На основании параметров для создания RadialGradientPaint этот метод создает и возвращает радиальную градиентную заливку. |
protected final float |
decodeX |
Декодирует и возвращает значение типа float, представляющее фактическое положение в пикселях для указанного закодированного значения X. |
protected final float |
decodeY |
Декодирует и возвращает значение типа float, представляющее фактическое положение в пикселях для указанного закодированного значения y. |
protected abstract void |
doPaint |
Фактически выполняет операцию отрисовки. |
protected final Color |
getComponentColor |
Получает свойство цвета из указанного JComponent. |
protected Object[] |
getExtendedCacheKeys |
Получает любые дополнительные атрибуты, которые реализация средства отрисовки должна включать при поиске в кэше изображений. |
protected abstract AbstractRegionPainter.PaintContext |
getPaintContext() |
Получает PaintContext для этой операции отрисовки. |
final void |
paint |
Выполняет отрисовку в указанный объект Graphics2D. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt либо по истечении определенного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt либо по истечении определенного времени. |
Подробное описание конструкторов
AbstractRegionPainter
protected AbstractRegionPainter()
Подробное описание методов
paint
public final void paint(Graphics2D g, JComponent c, int w, int h)
Выполняет отрисовку в указанный объект Graphics2D. Реализации этого метода могут изменять состояние объекта Graphics2D и не обязаны восстанавливать его по завершении работы. В большинстве случаев рекомендуется передавать вызывающим кодом временный объект graphics. Значение Graphics2D не должно быть равно null.
Состояние объекта graphics может учитываться методом paint, но это не гарантируется. Например, подсказка рендеринга сглаживания, заданная для graphics, может учитываться или не учитываться реализацией Painter.
Параметр object служит необязательным аргументом конфигурации. Например, он может иметь тип Component. Тогда Painter, для которой предусмотрена работа с этим параметром, может считывать состояние из этого Component и использовать его при отрисовке. Например, реализация может считывать backgroundColor и использовать это значение.
Как правило, для повышения возможности повторного использования большинство стандартных Painter игнорируют этот параметр. Поэтому их можно повторно использовать в любом контексте. Значение object может быть null. Реализации не должны выбрасывать NullPointerException, если параметр object равен null.
Наконец, аргументы width и height задают ширину и высоту области, в которой Painter должен выполнять отрисовку. Точнее, указанные ширина и высота задают границы области, внутри которых средство отрисовки должно полностью выполнить отрисовку. Любая заданная область отсечения для параметра g дополнительно ограничивает эту область.
Например, предположим, что у меня есть реализация Painter, которая рисует градиент от белого к черному. Он «растягивается», чтобы заполнить область отрисовки. Поэтому, если с помощью этого Painter отрисовать область размером 500 x 500, левый край будет черным, правый — белым, а между ними будет плавный градиент. Затем я могу без изменений повторно использовать Painter для отрисовки области размером 20x20. Эта область также будет черной слева, белой справа, а между ними будет плавный градиент.
- Определен в:
-
paintв интерфейсеPainter<JComponent> - Параметры:
-
g— объект Graphics2D для отрисовки. Не должен быть равен null. -
c— необязательный параметр конфигурации. Может быть равен null. -
w— ширина области отрисовки. -
h— высота области отрисовки.
getExtendedCacheKeys
protected Object[] getExtendedCacheKeys(JComponent c)
- Параметры:
-
c— компонент для текущего вызова отрисовки - Возвращает:
- Массив дополнительных объектов, включаемых в ключ кэша
getPaintContext
protected abstract AbstractRegionPainter.PaintContext getPaintContext()
Получает PaintContext для этой операции отрисовки. Этот метод вызывается при каждой отрисовке, поэтому он должен работать быстро и не создавать мусор. PaintContext содержит такие сведения, как подсказки кэширования. Он также содержит данные, необходимые для декодирования точек во время выполнения, например отступы растяжения, размер холста, для которого были определены закодированные точки, и сведения о том, инвертированы ли отступы растяжения.
Этот метод позволяет подклассам объединять отрисовку различных состояний, возможно с разными размерами холста и т. д., в одной реализации AbstractRegionPainter.
- Возвращает:
- PaintContext, связанный с этой операцией отрисовки.
configureGraphics
protected void configureGraphics(Graphics2D g)
Настраивает указанный Graphics2D. Перед отрисовкой к объекту Graphics2D часто применяются подсказки рендеринга или правила композиции, которые должны влиять на все последующие операции отрисовки. Этот метод предоставляет удобную точку расширения для настройки объекта Graphics перед отрисовкой независимо от того, выполняется ли она в промежуточный буфер или непосредственно на экран.
- Параметры:
-
g— объект Graphics2D для настройки. Не будет равен null.
doPaint
protected abstract void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys)
width и высоту height. Для повышения производительности можно получить область отсечения из объекта Graphics2D и выполнять отрисовку только в ее пределах.- Параметры:
-
g— поверхность Graphics2D для отрисовки -
c— JComponent, связанный с событием отрисовки. Например, если отрисовываемая область — Button, тоcбудет JButton. Если отрисовываемая область — ScrollBarSlider, то компонентом будет JScrollBar. Это значение может быть равно null. -
width— ширина области отрисовки. Обратите внимание: при отрисовке переднего плана это значение может отличаться от c.getWidth(). -
height— высота области отрисовки. Обратите внимание: при отрисовке переднего плана это значение может отличаться от c.getHeight(). -
extendedCacheKeys— результат вызова getExtendedCacheKeys()
decodeX
protected final float decodeX(float x)
- Параметры:
-
x— закодированное значение x (0...1, 1...2 или 2...3) - Возвращает:
- декодированное значение x
- Исключения:
-
IllegalArgumentException— еслиx < 0илиx > 3
decodeY
protected final float decodeY(float y)
- Параметры:
-
y— закодированное значение y (0...1, 1...2 или 2...3) - Возвращает:
- декодированное значение y
- Исключения:
-
IllegalArgumentException— еслиy < 0илиy > 3
decodeAnchorX
protected final float decodeAnchorX(float x, float dx)
- Параметры:
-
x— закодированное значение x контрольной точки кривой Безье (0...1, 1...2 или 2...3) -
dx— расстояние смещения от контрольной точки x до точки привязки - Возвращает:
- декодированное положение x контрольной точки
- Исключения:
-
IllegalArgumentException— еслиx < 0илиx > 3
decodeAnchorY
protected final float decodeAnchorY(float y, float dy)
- Параметры:
-
y— закодированное значение y контрольной точки кривой Безье (0...1, 1...2 или 2...3) -
dy— расстояние смещения от контрольной точки y до точки привязки - Возвращает:
- декодированное положение y контрольной точки
- Исключения:
-
IllegalArgumentException— еслиy < 0илиy > 3
decodeColor
protected final Color decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset)
- Параметры:
-
key— ключ, соответствующий значению в таблице UI Defaults класса UIManager, где определен базовый цвет -
hOffset— смещение оттенка, используемое для получения цвета. -
sOffset— смещение насыщенности, используемое для получения цвета. -
bOffset— смещение яркости, используемое для получения цвета. -
aOffset— смещение альфа-канала, используемое для получения цвета. В диапазоне от 0 до 255 - Возвращает:
- Полученный цвет, значение которого будет меняться при изменении родительского цвета uiDefault.
decodeColor
protected final Color decodeColor(Color color1, Color color2, float midPoint)
- Параметры:
-
color1— первый цвет -
color2— второй цвет -
midPoint— смещение между цветом 1 и цветом 2: значение 0.0 соответствует цвету 1, а значение 1.0 — цвету 2; - Возвращает:
- Полученный цвет
decodeGradient
protected final LinearGradientPaint decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors)
- Параметры:
-
x1— x1 -
y1— y1 -
x2— x2 -
y2— y2 -
midpoints— промежуточные точки -
colors— цвета - Возвращает:
- допустимый объект LinearGradientPaint. Этот метод никогда не возвращает null.
- Исключения:
-
NullPointerException— если массивmidpointsравен null или массивcolorsравен null; -
IllegalArgumentException— если начальная и конечная точки совпадают, илиmidpoints.length != colors.length, или размерcolorsменьше 2, или значениеmidpointsменьше 0.0 или больше 1.0, илиmidpointsне заданы в строго возрастающем порядке
decodeRadialGradient
protected final RadialGradientPaint decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors)
- Параметры:
-
x— координата x -
y— координата y -
r— радиус -
midpoints— промежуточные точки -
colors— цвета - Возвращает:
- допустимый объект RadialGradientPaint. Этот метод никогда не возвращает null.
- Исключения:
-
NullPointerException— если массивmidpointsравен null или массивcolorsравен null -
IllegalArgumentException— еслиrне является положительным, илиmidpoints.length != colors.length, или размерcolorsменьше 2, или значениеmidpointsменьше 0.0 или больше 1.0, илиmidpointsне заданы в строго возрастающем порядке
getComponentColor
protected final Color getComponentColor(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset)
getXXX(), а если это не удается — наличие свойства клиента с ключом property. Если и в этом случае не удается получить Color, возвращается defaultColor.- Параметры:
-
c— компонент, из которого нужно получить свойство цвета -
property— имя свойства в стиле bean или свойства клиента -
defaultColor— цвет, возвращаемый, если цвет не был получен из компонента. -
saturationOffset— аддитивно изменяет компонент насыщенности HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию). -
brightnessOffset— аддитивно изменяет компонент яркости HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию). -
alphaOffset— аддитивно изменяет компонент альфа-канала ARGB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию). - Возвращает:
- Цвет, полученный из компонента, или defaultColor
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.