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 Stop
s 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.Constructor and Description |
---|
RadialGradient(double focusAngle,
double focusDistance,
double centerX,
double centerY,
double radius,
boolean proportional,
CycleMethod cycleMethod,
List<Stop> stops)
Creates a new instance of RadialGradient.
|
RadialGradient(double focusAngle,
double focusDistance,
double centerX,
double centerY,
double radius,
boolean proportional,
CycleMethod cycleMethod,
Stop... stops)
Creates a new instance of RadialGradient.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
double |
getCenterX()
Defines the X coordinate of the center point of the circle defining the gradient.
|
double |
getCenterY()
Defines the X coordinate of the center point of the circle defining the gradient.
|
CycleMethod |
getCycleMethod()
Defines which of the follwing cycle method is applied
to the
LinearGradient : CycleMethod.NO_CYCLE ,
CycleMethod.REFLECT , or CycleMethod.REPEAT . |
double |
getFocusAngle()
Defines the angle in degrees from the center of the gradient
to the focus point to which the first color is mapped.
|
double |
getFocusDistance()
Defines the distance from the center of the gradient to the
focus point to which the first color is mapped.
|
double |
getRadius()
Specifies the radius of the circle defining the extents of the color gradient.
|
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
RadialGradient object. |
boolean |
isOpaque()
Gets whether this Paint is completely opaque.
|
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(String value)
Creates a radial gradient value from a string representation.
|
public RadialGradient(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, Stop... stops)
focusAngle
- the angle in degrees from the center of the gradient
to the focus point to which the first color is mappedfocusDistance
- the distance from the center of the gradient to the
focus point to which the first color is mappedcenterX
- the X coordinate of the center point of the gradient's circlecenterY
- the Y coordinate of the center point of the gradient's circleradius
- the radius of the circle defining the extents of the color gradientproportional
- whether the coordinates and sizes are proportional
to the shape which this gradient fillscycleMethod
- cycle method applied to the gradientstops
- the gradient's color specificationpublic RadialGradient(double focusAngle, double focusDistance, double centerX, double centerY, double radius, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
focusAngle
- the angle in degrees from the center of the gradient
to the focus point to which the first color is mappedfocusDistance
- the distance from the center of the gradient to the
focus point to which the first color is mappedcenterX
- the X coordinate of the center point of the gradient's circlecenterY
- the Y coordinate of the center point of the gradient's circleradius
- the radius of the circle defining the extents of the color gradientproportional
- whether the coordinates and sizes are proportional
to the shape which this gradient fillscycleMethod
- cycle method applied to the gradientstops
- the gradient's color specificationpublic final double getFocusAngle()
public final double getFocusDistance()
public final double getCenterX()
public final double getCenterY()
public final double getRadius()
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.public final CycleMethod getCycleMethod()
LinearGradient
: CycleMethod.NO_CYCLE
,
CycleMethod.REFLECT
, or CycleMethod.REPEAT
.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.
public final boolean isOpaque()
Paint
public boolean equals(Object obj)
public int hashCode()
RadialGradient
object.public String toString()
RadialGradient
object.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 omited.
Format of color representation is the one used in Color.web(String color)
.
The radial-gradient keyword can be omited.
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");
value
- the string to convertRadialGradient
object holding the value represented
by the string argument.NullPointerException
- if the value
is null
IllegalArgumentException
- if the value
cannot be parsedSubmit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.