Класс 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);
- С:
- JavaFX 2.0
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
LinearGradient |
Создаёт новый экземпляр LinearGradient. |
LinearGradient |
Создаёт новый экземпляр LinearGradient. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, является ли другой объект "равным" этому объекту. |
final CycleMethod |
getCycleMethod() |
Определяет, какой из следующих методов циклирования применяется к LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT или CycleMethod.REPEAT. |
final double |
getEndX() |
Определяет координату X конечной точки оси градиента. |
final double |
getEndY() |
Определяет координату Y конечной точки оси градиента. |
final double |
getStartX() |
Определяет координату X начальной точки оси градиента. |
final double |
getStartY() |
Определяет координату Y начальной точки оси градиента. |
final List<Stop> |
getStops() |
Последовательность из 2 или более значений Stop, определяющих, как распределяются цвета по градиенту. |
int |
hashCode() |
Возвращает код хэша для этого объекта LinearGradient. |
final boolean |
isOpaque() |
Получает, является ли этот Paint полностью непрозрачным. |
final boolean |
isProportional() |
Указывает, являются ли начальные и конечные расположения пропорциональными или абсолютными. |
String |
toString() |
Возвращает строковое представление этого объекта LinearGradient. |
static LinearGradient |
valueOf |
Создаёт значение линейного градиента из строкового представления. |
Подробное описание конструкторов
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.