public class GradientPaint extends Object implements Paint
GradientPaint class provides a way to fill
a Shape with a linear color gradient pattern.
If Point P1 with Color C1 and Point P2 with
Color C2 are specified in user space, the
Color on the P1, P2 connecting line is proportionally
changed from C1 to C2. Any point P not on the extended P1, P2
connecting line has the color of the point P' that is the perpendicular
projection of P on the extended P1, P2 connecting line.
Points on the extended line outside of the P1, P2 segment can be colored
in one of two ways.
Color C1 while points on the P2 side
have the constant Color C2.
Paint,
Graphics2D.setPaint(java.awt.Paint)BITMASK, OPAQUE, TRANSLUCENT| Constructor and Description |
|---|
GradientPaint(float x1,
float y1,
Color color1,
float x2,
float y2,
Color color2)
Constructs a simple acyclic
GradientPaint object. |
GradientPaint(float x1,
float y1,
Color color1,
float x2,
float y2,
Color color2,
boolean cyclic)
Constructs either a cyclic or acyclic
GradientPaint
object depending on the boolean parameter. |
GradientPaint(Point2D pt1,
Color color1,
Point2D pt2,
Color color2)
Constructs a simple acyclic
GradientPaint object. |
GradientPaint(Point2D pt1,
Color color1,
Point2D pt2,
Color color2,
boolean cyclic)
Constructs either a cyclic or acyclic
GradientPaint
object depending on the boolean parameter. |
| Modifier and Type | Method and Description |
|---|---|
PaintContext |
createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
Creates and returns a
PaintContext used to
generate a linear color gradient pattern. |
Color |
getColor1()
Returns the color C1 anchored by the point P1.
|
Color |
getColor2()
Returns the color C2 anchored by the point P2.
|
Point2D |
getPoint1()
Returns a copy of the point P1 that anchors the first color.
|
Point2D |
getPoint2()
Returns a copy of the point P2 which anchors the second color.
|
int |
getTransparency()
Returns the transparency mode for this
GradientPaint. |
boolean |
isCyclic()
Returns
true if the gradient cycles repeatedly
between the two colors C1 and C2. |
public GradientPaint(float x1,
float y1,
Color color1,
float x2,
float y2,
Color color2)
GradientPaint object.x1 - x coordinate of the first specified
Point in user spacey1 - y coordinate of the first specified
Point in user spacecolor1 - Color at the first specified
Pointx2 - x coordinate of the second specified
Point in user spacey2 - y coordinate of the second specified
Point in user spacecolor2 - Color at the second specified
PointNullPointerException - if either one of colors is nullpublic GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
GradientPaint object.pt1 - the first specified Point in user spacecolor1 - Color at the first specified
Pointpt2 - the second specified Point in user spacecolor2 - Color at the second specified
PointNullPointerException - if either one of colors or points
is nullpublic GradientPaint(float x1,
float y1,
Color color1,
float x2,
float y2,
Color color2,
boolean cyclic)
GradientPaint
object depending on the boolean parameter.x1 - x coordinate of the first specified
Point in user spacey1 - y coordinate of the first specified
Point in user spacecolor1 - Color at the first specified
Pointx2 - x coordinate of the second specified
Point in user spacey2 - y coordinate of the second specified
Point in user spacecolor2 - Color at the second specified
Pointcyclic - true if the gradient pattern should cycle
repeatedly between the two colors; false otherwise@ConstructorProperties(value={"point1","color1","point2","color2","cyclic"}) public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
GradientPaint
object depending on the boolean parameter.pt1 - the first specified Point
in user spacecolor1 - Color at the first specified
Pointpt2 - the second specified Point
in user spacecolor2 - Color at the second specified
Pointcyclic - true if the gradient pattern should cycle
repeatedly between the two colors; false otherwiseNullPointerException - if either one of colors or points
is nullpublic Point2D getPoint1()
Point2D object that is a copy of the point
that anchors the first color of this
GradientPaint.public Color getColor1()
Color object that is the color
anchored by P1.public Point2D getPoint2()
Point2D object that is a copy of the point
that anchors the second color of this
GradientPaint.public Color getColor2()
Color object that is the color
anchored by P2.public boolean isCyclic()
true if the gradient cycles repeatedly
between the two colors C1 and C2.true if the gradient cycles repeatedly
between the two colors; false otherwise.public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
PaintContext used to
generate a linear color gradient pattern.
See the specification of the
method in the Paint interface for information
on null parameter handling.createContext in interface Paintcm - the preferred ColorModel which represents the most convenient
format for the caller to receive the pixel data, or null
if there is no preference.deviceBounds - the device space bounding box
of the graphics primitive being rendered.userBounds - the user space bounding box
of the graphics primitive being rendered.xform - the AffineTransform from user
space into device space.hints - the set of hints that the context object can use to
choose between rendering alternatives.PaintContext for
generating color patterns.Paint,
PaintContext,
ColorModel,
Rectangle,
Rectangle2D,
AffineTransform,
RenderingHintspublic int getTransparency()
GradientPaint.getTransparency in interface TransparencyGradientPaint
object's transparency mode.Transparency Submit 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 © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.