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