Class LinearGradient
public final class LinearGradient
extends Paint The LinearGradient class fills a shape with a linear color gradient pattern. The user may specify two or more gradient colors, and this Paint will provide an interpolation between each color.
The application provides an array of Stops specifying how to distribute the colors along the gradient. The Stop#offset variable must be the range 0.0 to 1.0 and act like keyframes along the gradient. The offsets mark where the gradient should be exactly a particular color.
If the proportional variable is set to true then the start and end points of the gradient should be specified relative to the unit square (0.0->1.0) and will be stretched across the shape. If the proportional variable is set to false, then the start and end points should be specified in the local coordinate system of the shape and the gradient will not be stretched at all.
The two filled rectangles in the example below will render the same. The one on the left uses proportional coordinates to specify the end points of the gradient. The one on the right uses absolute coordinates. Both of them fill the specified rectangle with a horizontal gradient that varies from black to red
// 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
Constructor Summary
| Constructor | Description |
|---|---|
LinearGradient(double startX,
double startY,
double endX,
double endY,
boolean proportional,
CycleMethod cycleMethod,
List<Stop> stops) | Creates a new instance of LinearGradient. |
LinearGradient(double startX,
double startY,
double endX,
double endY,
boolean proportional,
CycleMethod cycleMethod,
Stop... stops) | Creates a new instance of LinearGradient. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
boolean | equals(Object obj) | Indicates whether some other object is "equal to" this one. |
CycleMethod | getCycleMethod() | Defines which of the following cycle method is applied to the LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT, or CycleMethod.REPEAT. |
double | getEndX() | Defines the X coordinate of the gradient axis end point. |
double | getEndY() | Defines the Y coordinate of the gradient axis end point. |
double | getStartX() | Defines the X coordinate of the gradient axis start point. |
double | getStartY() | Defines the Y coordinate of the gradient axis start point. |
List<Stop> | getStops() | A sequence of 2 or more Stop values specifying how to distribute the colors along the gradient. |
int | hashCode() | Returns a hash code for this LinearGradient object. |
boolean | isOpaque() | Gets whether this Paint is completely opaque. |
boolean | isProportional() | Indicates whether start and end locations are proportional or absolute. |
String | toString() | Returns a string representation of this LinearGradient object. |
static LinearGradient | valueOf(String value) | Creates a linear gradient value from a string representation. |
Constructor Details
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
- Parameters:
-
startX- the X coordinate of the gradient axis start point -
startY- the Y coordinate of the gradient axis start point -
endX- the X coordinate of the gradient axis end point -
endY- the Y coordinate of the gradient axis end point -
proportional- whether the coordinates are proportional to the shape which this gradient fills -
cycleMethod- cycle method applied to the gradient -
stops- the gradient's color specification
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
- Parameters:
-
startX- the X coordinate of the gradient axis start point -
startY- the Y coordinate of the gradient axis start point -
endX- the X coordinate of the gradient axis end point -
endY- the Y coordinate of the gradient axis end point -
proportional- whether the coordinates are proportional to the shape which this gradient fills -
cycleMethod- cycle method applied to the gradient -
stops- the gradient's color specification
Method Details
getStartX
public final double getStartX()
- Default value:
- 0.0
- Returns:
- the X coordinate of the gradient axis start point
getStartY
public final double getStartY()
- Default value:
- 0.0
- Returns:
- the Y coordinate of the gradient axis start point
getEndX
public final double getEndX()
- Default value:
- 1.0
- Returns:
- the X coordinate of the gradient axis end point
getEndY
public final double getEndY()
- Default value:
- 1.0
- Returns:
- the Y coordinate of the gradient axis end point
isProportional
public final boolean isProportional()
[0..1] are scaled to map onto the bounds of the shape that the gradient fills. If this flag is false, then the coordinates are specified in the local coordinate system of the node.- Default value:
- true
- Returns:
- if true start and end locations are proportional, otherwise absolute
getCycleMethod
public final CycleMethod getCycleMethod()
LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT, or CycleMethod.REPEAT.- Default value:
- NO_CYCLE
- Returns:
- the cycle method applied to this linear gradient
getStops
public final List<Stop> getStops()
Stop values specifying how to distribute the colors along the gradient. These values must be in the range 0.0 to 1.0. They act like key frames along the gradient: they mark where the gradient should be exactly a particular color. Each stop in the sequence must have an offset that is greater than the previous stop in the sequence.
The list is unmodifiable and will throw UnsupportedOperationException on each modification attempt.
- Default value:
- empty
- Returns:
- the list of stop values
isOpaque
public final boolean isOpaque()
- Specified by:
-
isOpaquein classPaint - Returns:
- true if the Paint is opaque, false if it is not opaque or if it cannot be determined.
- Since:
- JavaFX 8.0
equals
public boolean equals(Object obj)
- Overrides:
-
equalsin classObject - Parameters:
-
obj- the reference object with which to compare. - Returns:
-
trueif this object is equal to theobjargument;falseotherwise.
hashCode
public int hashCode()
LinearGradient object.- Overrides:
-
hashCodein classObject - Returns:
- a hash code for this
LinearGradientobject.
toString
public String toString()
LinearGradient object.- Overrides:
-
toStringin classObject - Returns:
- a string representation of this
LinearGradientobject.
valueOf
public static LinearGradient valueOf(String value)
The format of the string representation is based on JavaFX CSS specification for linear gradient which is
linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+)where
<side-or-corner> = [left | right] || [top | bottom] <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ] <color-stop> = [ <color> [ <percentage> | <length>]? ]
Currently length can be only specified in px, the specification of unit can be omited. Format of color representation is the one used in Color.web(String color). The linear-gradient keyword can be omited. For additional information about the format of string representation, see the CSS Reference Guide.
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%");
- Parameters:
-
value- the string to convert - Returns:
- a
LinearGradientobject holding the value represented by the string argument. - Throws:
-
NullPointerException- if thevalueisnull -
IllegalArgumentException- if thevaluecannot be parsed - Since:
- 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.