Класс LinearGradient
public final class LinearGradient
extends Paint Класс LinearGradient заполняет фигуру линейным градиентным узором. Пользователь может указать два или более градиентных цвета, и этот Paint обеспечит интерполяцию между каждым цветом.
Приложение предоставляет массив Stop, определяющий, как распределить цвета вдоль градиента. Переменная Stop#offset должна принимать значения от 0,0 до 1,0 и действовать как ключевые кадры вдоль градиента. Смещения указывают, где градиент должен быть точно определенного цвета.
Если переменная proportional установлена в true, то начальные и конечные точки градиента должны быть указаны относительно единичного квадрата (0,0->1,0) и будут растянуты по фигуре. Если переменная proportional установлена в false, то начальные и конечные точки должны быть указаны в локальной системе координат фигуры, и градиент не будет растягиваться вообще.
Два заполненных прямоугольника в примере ниже будут отображаться одинаково. Левый прямоугольник использует пропорциональные координаты для указания конечных точек градиента. Правый прямоугольник использует абсолютные координаты. Оба из них заполняют заданный прямоугольник горизонтальным градиентом, изменяющимся от черного до красного.
// object bounding box relative (proportional = true)
Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.RED)};
LinearGradient lg1 = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops);
Rectangle r1 = new Rectangle(0, 0, 100, 100);
r1.setFill(lg1);
// user space relative (proportional: = false)
LinearGradient lg2 = new LinearGradient(125, 0, 225, 0, false, CycleMethod.NO_CYCLE, stops);
Rectangle r2 = new Rectangle(125, 0, 100, 100);
r2.setFill(lg2);
- Since:
- JavaFX 2.0
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LinearGradient(double startX,
double startY,
double endX,
double endY,
boolean proportional,
CycleMethod cycleMethod,
List<Stop> stops) | Создает новый экземпляр LinearGradient. |
LinearGradient(double startX,
double startY,
double endX,
double endY,
boolean proportional,
CycleMethod cycleMethod,
Stop... stops) | Создает новый экземпляр LinearGradient. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | equals(Object obj) | Указывает, является ли другой объект "равным" данному. |
CycleMethod | getCycleMethod() | Определяет, какой из следующих методов цикла применяется к LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT или CycleMethod.REPEAT. |
double | getEndX() | Определяет координату X конечной точки оси градиента. |
double | getEndY() | Определяет координату Y конечной точки оси градиента. |
double | getStartX() | Определяет координату X начальной точки оси градиента. |
double | getStartY() | Определяет координату Y начальной точки оси градиента. |
List<Stop> | getStops() | Последовательность из 2 или более значений Stop, определяющих способ распределения цветов вдоль градиента. |
int | hashCode() | Возвращает хеш-код для данного объекта LinearGradient. |
boolean | isOpaque() | Получает, является ли этот Paint полностью непрозрачным. |
boolean | isProportional() | Указывает, являются ли начальное и конечное расположения пропорциональными или абсолютными. |
String | toString() | Возвращает строковое представление этого объекта LinearGradient. |
static LinearGradient | valueOf(String value) | Создает значение линейного градиента из строкового представления. |
Подробное описание конструкторов
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
- Параметры:
-
startX- координата X начальной точки оси градиента -
startY- координата Y начальной точки оси градиента -
endX- координата X конечной точки оси градиента -
endY- координата Y конечной точки оси градиента -
proportional- указывает, являются ли координаты пропорциональными форме, которую заполняет этот градиент -
cycleMethod- метод циклирования, применяемый к градиенту -
stops- задание цвета градиента
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
- Параметры:
-
startX- координата X начальной точки оси градиента -
startY- координата Y начальной точки оси градиента -
endX- координата X конечной точки оси градиента -
endY- координата Y конечной точки оси градиента -
proportional- указывает, являются ли координаты пропорциональными форме, которую заполняет этот градиент -
cycleMethod- метод циклирования, применяемый к градиенту -
stops- задание цвета градиента
Подробное описание методов
getStartX
public final double getStartX()
- Значение по умолчанию:
- 0.0
- Возвращает:
- координату X начальной точки оси градиента
getStartY
public final double getStartY()
- Значение по умолчанию:
- 0.0
- Возвращает:
- координату Y начальной точки оси градиента
getEndX
public final double getEndX()
- Значение по умолчанию:
- 1.0
- Возвращает:
- координату X конечной точки оси градиента
getEndY
public final double getEndY()
- Значение по умолчанию:
- 1.0
- Возвращает:
- координату Y конечной точки оси градиента
isProportional
public final boolean isProportional()
[0..1] масштабируются для отображения на границах формы, которую заполняет градиент. Если этот флаг false, координаты задаются в локальной системе координат узла.- Значение по умолчанию:
- true
- Возвращает:
- true, если начальные и конечные координаты пропорциональны, иначе false
getCycleMethod
public final CycleMethod getCycleMethod()
LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT или CycleMethod.REPEAT.- Значение по умолчанию:
- NO_CYCLE
- Возвращает:
- метод циклирования, применяемый к линейному градиенту
getStops
public final List<Stop> getStops()
Stop значений, определяющих, как распределяются цвета вдоль градиента. Эти значения должны находиться в диапазоне от 0,0 до 1,0. Они действуют как ключевые кадры вдоль градиента: они отмечают места, где градиент должен быть точно определённого цвета. Каждый стоп в последовательности должен иметь смещение, большее, чем предыдущий стоп в последовательности.
Список неизменяемый и будет выбрасывать UnsupportedOperationException при каждой попытке модификации.
- Значение по умолчанию:
- пустой
- Возвращает:
- список значений стопов
isOpaque
public final boolean isOpaque()
- Определено в:
-
isOpaqueв классеPaint - Возвращает:
- true, если Paint непрозрачный, false, если нет или если это невозможно определить.
- С момента:
- JavaFX 8.0
equals
public boolean equals(Object obj)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект-ссылка для сравнения. - Возвращает:
-
true, если этот объект равен аргументуobj;falseв противном случае.
hashCode
public int hashCode()
LinearGradient.- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код для этого объекта
LinearGradient.
toString
public String toString()
LinearGradient.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого объекта
LinearGradient.
valueOf
public static LinearGradient valueOf(String value)
Формат строкового представления основан на спецификации JavaFX CSS для линейного градиента, которая имеет вид
linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+), где
<side-or-corner> = [left | right] || [top | bottom] <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ] <color-stop> = [ <color> [ <percentage> | <length>]? ]
В настоящее время длина может быть указана только в px, спецификация единицы может быть опущена. Формат представления цвета совпадает с тем, который используется в Color.web(String color). Ключевое слово linear-gradient может быть опущено. Дополнительную информацию о формате строкового представления см. в Руководстве по CSS.
LinearGradient g
= LinearGradient.valueOf("linear-gradient(from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%)");
LinearGradient g
= LinearGradient.valueOf("from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%");
LinearGradient g
= LinearGradient.valueOf("linear-gradient(from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%)");
LinearGradient g
= LinearGradient.valueOf("from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%");
- Параметры:
-
value- строка для преобразования - Возвращает:
- объект
LinearGradient, содержащий значение, представленное строковым аргументом. - Исключения:
-
NullPointerException- еслиvalueявляетсяnull -
IllegalArgumentException- еслиvalueне может быть проанализирована - С момента:
- JavaFX 2.1
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.