Class RadialGradient
- All Implemented Interfaces:
Interpolatable<Paint>
public final class RadialGradient extends Paint
RadialGradient class provides a way to fill a shape with a circular radial color gradient pattern. The user may specify 2 or more gradient colors, and this paint will provide an interpolation between each color. The user must specify the circle controlling the gradient pattern, which is defined by a center point and a radius. The user can also specify a separate focus point within that circle, which controls the location of the first color of the gradient. By default the focus is set to be the center of the circle.
The center and radius are specified relative to a unit square, unless the proportional variable is false. By default proportional is true, and the gradient will be scaled to fill whatever shape it is applied to. The focus point is always specified relative to the center point by an angle and a distance relative to the radius.
This paint will map the first color of the gradient to the focus point, and the last color to the perimeter of the circle, interpolating smoothly for any in-between colors specified by the user. Any line drawn from the focus point to the circumference will thus span all of the gradient colors.
The focus distance will be clamped to the range (-1, 1) so that the focus point is always strictly inside the circle.
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. They mark where the gradient should be exactly a particular color.
- Since:
- JavaFX 2.0
Constructor Summary
| Constructor | Description |
|---|---|
RadialGradient |
Creates a new instance of RadialGradient. |
RadialGradient |
Creates a new instance of RadialGradient. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
final double |
getCenterX() |
Defines the X coordinate of the center point of the circle defining the gradient. |
final double |
getCenterY() |
Defines the X coordinate of the center point of the circle defining the gradient. |
final CycleMethod |
getCycleMethod() |
Defines the cycle method applied to the RadialGradient. |
final double |
getFocusAngle() |
Defines the angle in degrees from the center of the gradient to the focus point to which the first color is mapped. |
final double |
getFocusDistance() |
Defines the distance from the center of the gradient to the focus point to which the first color is mapped. |
final double |
getRadius() |
Specifies the radius of the circle defining the extents of the color gradient. |
final List |
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 RadialGradient object. |
Paint |
interpolate |
Returns an intermediate value between the value of this Interpolatable and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive). |
RadialGradient |
interpolate |
Returns an intermediate value between the value of this RadialGradient and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive). |
final boolean |
isOpaque() |
Gets whether this Paint is completely opaque. |
final boolean |
isProportional() |
Indicates whether the center and radius values are proportional or absolute. |
String |
toString() |
Returns a string representation of this RadialGradient object. |
static RadialGradient |
valueOf |
Creates a radial gradient value from a string representation. |
Constructor Details
RadialGradient
public RadialGradient(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, Stop... stops)
- Parameters:
-
focusAngle- the angle in degrees from the center of the gradient to the focus point to which the first color is mapped -
focusDistance- the distance from the center of the gradient to the focus point to which the first color is mapped -
centerX- the X coordinate of the center point of the gradient's circle -
centerY- the Y coordinate of the center point of the gradient's circle -
radius- the radius of the circle defining the extents of the color gradient -
proportional- whether the coordinates and sizes are proportional to the shape which this gradient fills -
cycleMethod- cycle method applied to the gradient -
stops- the gradient's color specification
RadialGradient
public RadialGradient(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
- Parameters:
-
focusAngle- the angle in degrees from the center of the gradient to the focus point to which the first color is mapped -
focusDistance- the distance from the center of the gradient to the focus point to which the first color is mapped -
centerX- the X coordinate of the center point of the gradient's circle -
centerY- the Y coordinate of the center point of the gradient's circle -
radius- the radius of the circle defining the extents of the color gradient -
proportional- whether the coordinates and sizes are proportional to the shape which this gradient fills -
cycleMethod- cycle method applied to the gradient -
stops- the gradient's color specification
Method Details
getFocusAngle
public final double getFocusAngle()
- Interpolation Type:
- linear
- Returns:
- the angle in degrees from the center of the gradient to the focus point to which the first color is mapped
getFocusDistance
public final double getFocusDistance()
- Interpolation Type:
- linear
- Returns:
- the distance from the center of the gradient to the focus point to which the first color is mapped
getCenterX
public final double getCenterX()
- Default value:
- 0.0
- Interpolation Type:
-
linear if both values are absolute or both values are
proportional, discrete otherwise - Returns:
- the X coordinate of the center point of the circle defining the gradient
getCenterY
public final double getCenterY()
- Default value:
- 0.0
- Interpolation Type:
-
linear if both values are absolute or both values are
proportional, discrete otherwise - Returns:
- the X coordinate of the center point of the circle defining the gradient
getRadius
public final double getRadius()
- Default value:
- 1.0
- Interpolation Type:
-
linear if both values are absolute or both values are
proportional, discrete otherwise - Returns:
- the radius of the circle defining the extents of the color gradient
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 center coordinates and the radius are specified in the local coordinate system of the node.- Default value:
- true
- Interpolation Type:
- discrete
- Returns:
- true if the center and radius values are proportional, otherwise absolute
getCycleMethod
public final CycleMethod getCycleMethod()
RadialGradient. One of: CycleMethod.NO_CYCLE, CycleMethod.REFLECT, or CycleMethod.REPEAT.- Default value:
- NO_CYCLE
- Interpolation Type:
- discrete
- Returns:
- the cycle method applied to this radial 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 keyframes 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
- Interpolation Type:
- Stop list interpolation produces smooth transitions of gradient stops by allowing the insertion of new stops along the gradient. At most, the intermediate stop list has the combined number of gradient stops of both the start list and the target list.
- Returns:
- the list of Stop values
isOpaque
public final boolean isOpaque()
interpolate
public RadialGradient interpolate(RadialGradient endValue, double t)
RadialGradient and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive).- Parameters:
-
endValue- the target value -
t- the interpolation factor - Returns:
- the intermediate value
- Throws:
-
NullPointerException- ifendValueisnull - Since:
- 24
interpolate
public Paint interpolate(Paint endValue, double t)
Interpolatable and the specified endValue using the linear interpolation factor t, ranging from 0 (inclusive) to 1 (inclusive). The returned value might not be a new instance; the implementation might also return one of the two existing instances if the intermediate value would be equal to one of the existing values. However, this is an optimization and applications should not assume any particular identity of the returned value.
- Parameters:
-
endValue- the target value -
t- the interpolation factor - Returns:
- the intermediate value
- Throws:
-
NullPointerException- ifendValueisnull - Since:
- 24
equals
hashCode
toString
valueOf
public static RadialGradient valueOf(String value)
The format of the string representation is based on JavaFX CSS specification for radial gradient which is
radial-gradient([focus-angle <angle>, ]?
[focus-distance <percentage>, ]?
[center <point>, ]?
radius [<length> | <percentage>],
[[repeat | reflect],]?
<color-stop>[, <color-stop>]+)
where <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ] <color-stop> = [ <color> [ <percentage> | <length>]? ]
Currently length can be only specified in px, the specification of unit can be omitted. Format of color representation is the one used in Color.web(String color). The radial-gradient keyword can be omitted. For additional information about the format of string representation, see the CSS Reference Guide.
RadialGradient g
= RadialGradient.valueOf("radial-gradient(center 100px 100px, radius 200px, red 0%, blue 30%, black 100%)");
RadialGradient g
= RadialGradient.valueOf("center 100px 100px, radius 200px, red 0%, blue 30%, black 100%");
RadialGradient g
= RadialGradient.valueOf("radial-gradient(center 50% 50%, radius 50%, cyan, violet 75%, magenta)");
RadialGradient g
= RadialGradient.valueOf("center 50% 50%, radius 50%, cyan, violet 75%, magenta");
- Parameters:
-
value- the string to convert - Returns:
- a
RadialGradientobject 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.