Spec-Zone.ru › OpenJDK 17

Класс AbstractRegionPainter

java.lang.Object
javax.swing.plaf.nimbus.AbstractRegionPainter
Все реализованные интерфейсы:
Painter<JComponent>
public abstract class AbstractRegionPainter extends Object implements Painter<JComponent>
Удобный базовый класс для определения экземпляров Painter для отрисовки области или компонента в Nimbus.

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected static class  AbstractRegionPainter.PaintContext
Класс, инкапсулирующий состояние, полезное при рисовании.

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

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

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

Модификатор и тип Метод Описание
protected void configureGraphics(Graphics2D g)
Настраивает предоставленный Graphics2D.
protected final float decodeAnchorX(float x, float dx)
Декодирует и возвращает значение с плавающей точкой, представляющее фактическое расположение пикселя для точки привязки, учитывая кодированное X-значение контрольной точки и расстояние смещения от контрольной точки до точки привязки.
protected final float decodeAnchorY(float y, float dy)
Декодирует и возвращает значение с плавающей точкой, представляющее фактическое расположение пикселя для точки привязки, учитывая кодированное Y-значение контрольной точки и расстояние смещения от контрольной точки до точки привязки.
protected final Color decodeColor(Color color1, Color color2, float midPoint)
Декодирует и возвращает цвет, который получен из смещения между двумя другими цветами.
protected final Color decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset)
Декодирует и возвращает цвет, который получен из базового цвета по умолчанию в UI.
protected final LinearGradientPaint decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors)
На основе параметров для создания LinearGradientPaint, этот метод создаст и вернёт линейный градиент.
protected final RadialGradientPaint decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors)
На основе параметров для создания RadialGradientPaint, этот метод создаст и вернёт радиальный градиент.
protected final float decodeX(float x)
Декодирует и возвращает значение с плавающей точкой, представляющее фактическое расположение пикселя для заданного кодированного значения X.
protected final float decodeY(float y)
Декодирует и возвращает значение с плавающей точкой, представляющее фактическое расположение пикселя для заданного кодированного значения Y.
protected abstract void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys)
Фактически выполняет операцию отрисовки.
protected final Color getComponentColor(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset)
Получить свойство цвета из заданного JComponent.
protected Object[] getExtendedCacheKeys(JComponent c)
Получить любые дополнительные атрибуты, которые реализация painter'а хотела бы включить в запросы к кешу изображений.
protected abstract AbstractRegionPainter.PaintContext getPaintContext()
Получает PaintContext для данной операции отрисовки.
final void paint(Graphics2D g, JComponent c, int w, int h)
Отображает в предоставленном Graphics2D объекте.

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

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

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

AbstractRegionPainter

protected AbstractRegionPainter()
Создать новый AbstractRegionPainter

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

paint

public final void paint(Graphics2D g, JComponent c, int w, int h)

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

Состояние объекта графики может учитываться методом paint, но не обязательно. Например, установка подсказки рендеринга сглаживания на графике может или не может быть учтена реализацией Painter.

Переданный параметр объекта действует как необязательный параметр конфигурации. Например, он может быть типа Component. A Painter, ожидавший его, мог бы затем прочитать состояние из этого Component и использовать это состояние для рисования. Например, реализация может прочитать backgroundColor и использовать его.

В целом, для повышения повторного использования большинство стандартных Painter игнорируют этот параметр. Таким образом, они могут быть повторно использованы в любом контексте. Объект object может быть null. Реализации не должны выбрасывать NullPointerException, если параметр объекта равен null.

Наконец, параметры width и height задают ширину и высоту, в которые Painter должен рисовать. Более конкретно, указанная ширина и высота указывают рисовальщику, что он должен рисовать полностью в пределах этой ширины и высоты. Любой указанный обрез на параметре g дополнительно ограничит область.

Например, предположим, что у меня есть реализация Painter, которая рисует градиент. Градиент переходит от белого к черному. Он "растягивается", чтобы заполнить область рисования. Таким образом, если я использую этот Painter для рисования области 500x500, то самый левый край будет черным, самый правый - белым, и между ними будет нарисован плавный градиент. Я могу затем, без изменений, повторно использовать Painter для рисования области размером 20x20. Эта область также будет черной слева, белой справа, и между ними будет нарисован плавный градиент.

Specified by:
paint в интерфейсе Painter<JComponent>
Параметры:
g - Объект Graphics2D для рисования. Он не должен быть null.
c - необязательный параметр конфигурации. Может быть null.
w - ширина области для рисования.
h - высота области для рисования.

getExtendedCacheKeys

protected Object[] getExtendedCacheKeys(JComponent c)
Получить любые дополнительные атрибуты, которые реализация рисовальщика хотела бы включить в запросы к кешу изображения. Это проверяется при каждом вызове метода paint(g, c, w, h).
Параметры:
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)
Фактически выполняет операцию рисования. Подклассы должны реализовать этот метод. Объект графики, переданный, может представлять собой фактическую поверхность, на которую выполняется рендеринг, или это может быть промежуточный буфер. Он также был предварительно преобразован. Просто нарисуйте компонент так, как будто он расположен в 0, 0 и имеет ширину width и высоту height. По соображениям производительности вы можете прочитать обрезку из объекта Graphics2D и выполнить рендеринг только в этой области.
Параметры:
g - Поверхность Graphics2D для рисования
c - JComponent, связанный с событием рисования. Например, если область, которая рисуется, является кнопкой, то c будет JButton. Если область, которая рисуется, является ползунком полосы прокрутки, то компонент будет JScrollBar. Это значение может быть null.
width - Ширина области для рисования. Обратите внимание, что в случае рисования переднего плана это значение может отличаться от c.getWidth().
height - Высота области для рисования. Обратите внимание, что в случае рисования переднего плана это значение может отличаться от c.getHeight().
extendedCacheKeys - Результат вызова getExtendedCacheKeys()

decodeX

protected final float decodeX(float x)
Декодирует и возвращает значение с плавающей запятой, представляющее фактическое положение пикселя для данного закодированного значения X.
Параметры:
x - закодированное значение x (0...1 или 1...2 или 2...3)
Возвращает:
декодированное значение x
Исключение:
IllegalArgumentException - если x < 0 или x > 3

decodeY

protected final float decodeY(float y)
Декодирует и возвращает значение с плавающей запятой, представляющее фактическое положение пикселя для данного закодированного значения 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 - закодированное значение 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 - закодированное значение 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)
Декодирует и возвращает цвет, полученный из базового цвета в значениях UI.
Параметры:
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)
В данном методе, используя заданные параметры для создания объекта LinearGradientPaint, создаётся и возвращается объект линейного градиента. Основной целью этого метода является избежание создания объекта LinearGradientPaint, где начальная и конечная точки совпадают. В таком случае конечная y-координата слегка увеличивается, чтобы избежать перекрытия.
Параметры:
x1 - x1
y1 - y1
x2 - x2
y2 - y2
midpoints - значения средних точек
colors - цвета
Возвращает:
корректный объект LinearGradientPaint. Данный метод никогда не возвращает null.
Исключение:
NullPointerException - если массив midpoints или массив 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)
Используя заданные параметры для создания объекта RadialGradientPaint, этот метод создаёт и возвращает объект радиального градиента. Основная цель этого метода — избежать создания объекта RadialGradientPaint с не положительным радиусом. В таком случае радиус слегка увеличивается, чтобы избежать значения 0.
Параметры:
x - координата x
y - координата y
r - радиус
midpoints - значения средних точек
colors - цвета
Возвращает:
корректный объект RadialGradientPaint. Данный метод никогда не возвращает null.
Исключение:
NullPointerException - если массив midpoints или массив 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)
Получение свойства цвета из заданного JComponent. Сначала проверяется наличие метода getXXX(), а если нет, то проверяется наличие пользовательского свойства с ключом property. Если ни один из способов не возвращает цвет, возвращается defaultColor.
Параметры:
c - Компонент для получения свойства цвета
property - Имя свойства в стиле bean или пользовательского свойства
defaultColor - Цвет, который должен быть возвращён, если цвет не был получен из компонента.
saturationOffset - Дополнительно изменяет компонент насыщенности HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
brightnessOffset - Дополнительно изменяет компонент яркости HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
alphaOffset - Дополнительно изменяет компонент альфа-канала ARGB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
Возвращает:
Цвет, полученный из компонента, или defaultColor

© 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/javax/swing/plaf/nimbus/AbstractRegionPainter.html

Spec-Zone.ru

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