Spec-Zone.ru › OpenJDK 8

Класс 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

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

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

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

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 должен нарисовать. Более конкретно, заданная ширина и высота инструктируют рисовальщик, что он должен нарисовать полностью в пределах этой ширины и высоты. Любая заданная область обрезки в параметре g дополнительно ограничит область.

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

Определено:
paint в интерфейсе Painter<JComponent>
Параметры:
g - Graphics2D для отображения. Не должно быть 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, связанный с событием рисования. Например, если область, отображаемая, является кнопкой, то 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)

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

Параметры:
key - Ключ, соответствующий значению в таблице умолчаний пользовательского интерфейса 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 -
y1 -
x2 -
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 -
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. Если это все еще не возвращает значение Color, возвращается defaultColor.

Параметры:
c - Компонент, из которого нужно получить свойство цвета
property - Название свойства стиля bean или свойства клиента
defaultColor - Цвет, который нужно вернуть, если цвет не был получен из компонента.
Возвращает:
Цвет, полученный из компонента, или 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.

Spec-Zone.ru

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