Класс AbstractRegionPainter

Все реализованные интерфейсы:
Painter<JComponent>
public abstract class AbstractRegionPainter
extends Object
implements Painter<JComponent>

Удобный базовый класс для определения экземпляров Painter для отрисовки области или компонента в Nimbus.

Вложенные классы

Модификатор и тип Класс Описание
protected static class  AbstractRegionPainter.PaintContext

Класс, инкапсулирующий состояние, полезное при отрисовке.

Конструкторы

Модификатор Конструктор Описание
protected AbstractRegionPainter()

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

Методы

Модификатор и тип Метод Описание
protected void configureGraphics​(Graphics2D g)

Настраивает заданный Graphics2D.

protected float decodeAnchorX​(float x, float dx)

Декодирует и возвращает значение с плавающей точкой, представляющее фактическое положение пикселя для точки привязки, заданной кодированным значением X контрольной точки и расстоянием смещения к точке привязки от этой контрольной точки.

protected float decodeAnchorY​(float y, float dy)

Декодирует и возвращает значение с плавающей точкой, представляющее фактическое положение пикселя для точки привязки, заданной кодированным значением Y контрольной точки и расстоянием смещения к точке привязки от этой контрольной точки.

protected Color decodeColor​(Color color1, Color color2, float midPoint)

Декодирует и возвращает цвет, полученный из смещения между двумя другими цветами.

protected Color decodeColor​(String key, float hOffset, float sOffset, float bOffset, int aOffset)

Декодирует и возвращает цвет, полученный из базового цвета в значениях UI по умолчанию.

protected LinearGradientPaint decodeGradient​(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors)

При заданных параметрах для создания LinearGradientPaint, этот метод создаст и вернет градиентную заливку.

protected RadialGradientPaint decodeRadialGradient​(float x, float y, float r, float[] midpoints, Color[] colors)

При заданных параметрах для создания RadialGradientPaint, этот метод создаст и вернет радиальную градиентную заливку.

protected float decodeX​(float x)

Декодирует и возвращает значение с плавающей точкой, представляющее фактическое положение пикселя для заданного кодированного значения X.

protected float decodeY​(float y)

Декодирует и возвращает значение с плавающей точкой, представляющее фактическое положение пикселя для заданного кодированного значения y.

protected abstract void doPaint​(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys)

Фактически выполняет операцию отрисовки.

protected 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 для этой операции отрисовки.

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

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

Методы, объявленные в интерфейсе javax.swing.Painter

paint

Конструкторы

AbstractRegionPainter

protected AbstractRegionPainter()

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

Методы

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, связанный с событием рисования. Например, если область, нарисованная - это 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 или массив 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. Если это всё ещё не возвращает Color, то возвращается defaultColor.

Параметры:
c - Компонент, у которого нужно получить свойство цвета
property - Название свойства стиля bean или свойства клиента
defaultColor - Цвет, который следует вернуть, если цвет не был получен из компонента.
saturationOffset - Добавляет модификацию компонента HSB-насыщенности возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
brightnessOffset - Добавляет модификацию компонента HSB-яркости возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
alphaOffset - Добавляет модификацию компонента ARGB-альфы возвращаемого цвета (игнорируется, если возвращается цвет по умолчанию).
Возвращает:
Цвет, полученный из компонента или defaultColor

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/plaf/nimbus/AbstractRegionPainter.html

Spec-Zone .ru
спецификации, руководства, описания, API