Spec-Zone.ru › OpenJDK 21

Класс 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)
Получает дополнительные атрибуты, которые реализация художника хотела бы включить в запросы к кэшу изображений.
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. Painter, ожидающий его, может затем считать состояние из этого объекта Component и использовать это состояние для рисования. Например, реализация может считать backgroundColor и использовать его.

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

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

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

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

getExtendedCacheKeys

protected Object[] getExtendedCacheKeys(JComponent c)
Получить дополнительные атрибуты, которые реализация рисовальщика хочет включить в поиск по кэшу изображений. Это проверяется при каждом вызове метода paint(g, c, w, h).
Параметры:
c - Компонент в текущем вызове paint.
Возвращает:
Массив дополнительных объектов, которые нужно включить в ключ кэша

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)
Фактически выполняет операцию рисования. Подклассы должны реализовать этот метод. Переданный объект Graphics может представлять собой фактическую поверхность, на которую выполняется рендеринг, или промежуточный буфер. Он также уже преобразован. Просто нарисуйте компонент так, как будто он расположен в 0, 0 и имеет ширину 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 - закодированное значение 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 равен 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)
Учитывая параметры для создания RadialGradientPaint, этот метод создаст и вернёт радиальный градиент. Одна из основных целей этого метода — избежать создания RadialGradientPaint, где радиус неположителен. В таком случае радиус слегка увеличивается, чтобы избежать значения 0.
Параметры:
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)
Получение свойства цвета из данного JComponent. Сначала проверяется наличие метода getXXX(), и если он не найден, проверяется свойство клиента с ключом property. Если ни один из этих способов не вернул цвет, возвращается defaultColor.
Параметры:
c - Компонент, из которого нужно получить свойство цвета
property - Имя свойства стиля компонента или свойства клиента
defaultColor - Цвет, который должен быть возвращён, если цвет не был получен от компонента.
saturationOffset - Аддитивно изменяет компонент насыщенности HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
brightnessOffset - Аддитивно изменяет компонент яркости HSB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
alphaOffset - Аддитивно изменяет компонент альфа канала ARGB возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
Возвращает:
Цвет, полученный от компонента или defaultColor

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/plaf/nimbus/AbstractRegionPainter.html

Spec-Zone.ru

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