Класс LinearGradient
- javafx.scene.paint.Paint
-
- javafx.scene.paint.LinearGradient
public final class LinearGradient extends Paint
Класс LinearGradient заполняет фигуру линейным градиентом цветов. Пользователь может указать два или более градиентных цветов, и этот Paint обеспечит интерполяцию между каждым цветом.
Приложение предоставляет массив Stop, определяющий, как распределить цвета вдоль градиента. Переменная Stop#offset должна быть в диапазоне от 0,0 до 1,0 и действовать как ключевые кадры вдоль градиента. Смещения отмечают, где градиент должен быть точно определенного цвета.
Если пропорциональная переменная установлена в true, то начальные и конечные точки градиента должны быть указаны относительно единичного квадрата (0,0->1,0) и будут растягиваться по фигуре. Если пропорциональная переменная установлена в 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(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.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляровКонкретные методы Модификатор и тип Метод и описание booleanequals(Object obj)Указывает, является ли другой объект "равным" этому.CycleMethodgetCycleMethod()Определяет, какой из следующих методов цикла применяется кLinearGradient:CycleMethod.NO_CYCLE,CycleMethod.REFLECTилиCycleMethod.REPEAT.doublegetEndX()Определяет координату X конечной точки оси градиента.doublegetEndY()Определяет координату Y конечной точки оси градиента.doublegetStartX()Определяет координату X начальной точки оси градиента.doublegetStartY()Определяет координату Y начальной точки оси градиента.List<Stop>getStops()Последовательность из 2 или более значенийStop, определяющая способ распределения цветов вдоль градиента.inthashCode()Возвращает код хэша для этого объектаLinearGradient.booleanisOpaque()Определяет, является ли этот Paint полностью непрозрачным.booleanisProportional()Указывает, являются ли начальные и конечные расположения пропорциональными или абсолютными.StringtoString()Возвращает строковое представление этого объектаLinearGradient.static LinearGradientvalueOf(String value)Создает линейный градиент из строкового представления.
-
Подробное описание конструкторов
-
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)Создает новый экземпляр LinearGradient.Параметры:
startX- координата X начальной точки оси градиента
-
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)Создает новый экземпляр LinearGradient.Параметры:
startX- координата X начальной точки оси градиента
-
-
Подробное описание методов
-
getStartX
public final double getStartX()
Определяет координату X начальной точки оси градиента. Если proportional равно true (по умолчанию), это значение определяет точку на единичном квадрате, которая будет масштабироваться для соответствия размеру фигуры, которую заполняет градиент.Значение по умолчанию:
0,0
-
getStartY
public final double getStartY()
Определяет координату Y начальной точки оси градиента. Если proportional равно true (по умолчанию), это значение определяет точку на единичном квадрате, которая будет масштабироваться для соответствия размеру фигуры, которую заполняет градиент.Значение по умолчанию:
0,0
-
getEndX
public final double getEndX()
Определяет координату X конечной точки оси градиента. Если proportional равно true (по умолчанию), это значение определяет точку на единичном квадрате, которая будет масштабироваться для соответствия размеру фигуры, которую заполняет градиент.Значение по умолчанию:
1,0
-
getEndY
public final double getEndY()
Определяет координату Y конечной точки оси градиента. Если proportional равно true (по умолчанию), это значение определяет точку на единичном квадрате, которая будет масштабироваться для соответствия размеру фигуры, которую заполняет градиент.Значение по умолчанию:
1,0
-
isProportional
public final boolean isProportional()
Указывает, являются ли начальные и конечные расположения пропорциональными или абсолютными. Если этот флаг установлен в true, две конечные точки определяются в системе координат, где координаты в диапазоне[0..1]масштабируются для отображения на границах фигуры, которую заполняет градиент. Если этот флаг установлен в false, координаты указаны в локальной системе координат узла.Значение по умолчанию:
true
-
getCycleMethod
public final CycleMethod getCycleMethod()
Определяет, какой из следующих методов цикла применяется кLinearGradient:CycleMethod.NO_CYCLE,CycleMethod.REFLECTилиCycleMethod.REPEAT.Значение по умолчанию:
NO_CYCLE
-
getStops
public final List<Stop> getStops()
Последовательность из 2 или более значенийStop, определяющая способ распределения цветов вдоль градиента. Эти значения должны быть в диапазоне от 0,0 до 1,0. Они действуют как ключевые кадры вдоль градиента: они отмечают, где градиент должен быть точно определенного цвета.Каждый стоп в последовательности должен иметь смещение, большее, чем у предыдущего стопа в последовательности.
Список неизменяем и будет выбрасывать
UnsupportedOperationExceptionпри каждой попытке изменения.Значение по умолчанию:
пустое
-
isOpaque
public final boolean isOpaque()
Описание скопировано из класса:PaintОпределяет, является ли этот Paint полностью непрозрачным. Непрозрачный paint — это paint, у которого нет альфа-компонента ни в одном из его цветов. Возможно, что paint будет непрозрачным, но вернёт false, если легко не определить, является ли paint непрозрачным. Например, ImagePattern может не иметь возможности быстро определить свою непрозрачность.
-
equals
public boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому.
-
hashCode
public int hashCode()
Возвращает код хэша для этого объектаLinearGradient.
-
toString
public String toString()
Возвращает строковое представление этого объекта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С тех пор:
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.