- java.lang.Object
 - 
- java.awt.GradientPaint
 
 
- 
- All Implemented Interfaces:
 Paint,Transparency
public class GradientPaint extends Object implements Paint
TheGradientPaintclass provides a way to fill aShapewith a linear color gradient pattern. IfPointP1 withColorC1 andPointP2 withColorC2 are specified in user space, theColoron 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.- If the gradient is cyclic then the points on the extended P1, P2 connecting line cycle back and forth between the colors C1 and C2.
 - 
 If the gradient is acyclic then points on the P1 side of the segment
 have the constant 
ColorC1 while points on the P2 side have the constantColorC2. 
- See Also:
 Paint,Graphics2D.setPaint(java.awt.Paint)
 
- 
- 
Field Summary
- 
Fields declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT 
 - 
 
- 
Constructor Summary
Constructors Constructor Description GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)Constructs a simple acyclicGradientPaintobject.GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)Constructs either a cyclic or acyclicGradientPaintobject depending on thebooleanparameter.GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)Constructs a simple acyclicGradientPaintobject.GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)Constructs either a cyclic or acyclicGradientPaintobject depending on thebooleanparameter. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PaintContextcreateContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)Creates and returns aPaintContextused to generate a linear color gradient pattern.ColorgetColor1()Returns the color C1 anchored by the point P1.ColorgetColor2()Returns the color C2 anchored by the point P2.Point2DgetPoint1()Returns a copy of the point P1 that anchors the first color.Point2DgetPoint2()Returns a copy of the point P2 which anchors the second color.intgetTransparency()Returns the transparency mode for thisGradientPaint.booleanisCyclic()Returnstrueif the gradient cycles repeatedly between the two colors C1 and C2. 
 - 
 
- 
- 
Constructor Detail
- 
GradientPaint
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)Constructs a simple acyclicGradientPaintobject.- Parameters:
 x1- x coordinate of the first specifiedPointin user spacey1- y coordinate of the first specifiedPointin user spacecolor1-Colorat the first specifiedPointx2- x coordinate of the second specifiedPointin user spacey2- y coordinate of the second specifiedPointin user spacecolor2-Colorat the second specifiedPoint- Throws:
 NullPointerException- if either one of colors is null
 
- 
GradientPaint
public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
Constructs a simple acyclicGradientPaintobject.- Parameters:
 pt1- the first specifiedPointin user spacecolor1-Colorat the first specifiedPointpt2- the second specifiedPointin user spacecolor2-Colorat the second specifiedPoint- Throws:
 NullPointerException- if either one of colors or points is null
 
- 
GradientPaint
public GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)Constructs either a cyclic or acyclicGradientPaintobject depending on thebooleanparameter.- Parameters:
 x1- x coordinate of the first specifiedPointin user spacey1- y coordinate of the first specifiedPointin user spacecolor1-Colorat the first specifiedPointx2- x coordinate of the second specifiedPointin user spacey2- y coordinate of the second specifiedPointin user spacecolor2-Colorat the second specifiedPointcyclic-trueif the gradient pattern should cycle repeatedly between the two colors;falseotherwise
 
- 
GradientPaint
@ConstructorProperties({"point1","color1","point2","color2","cyclic"}) public GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
Constructs either a cyclic or acyclicGradientPaintobject depending on thebooleanparameter.- Parameters:
 pt1- the first specifiedPointin user spacecolor1-Colorat the first specifiedPointpt2- the second specifiedPointin user spacecolor2-Colorat the second specifiedPointcyclic-trueif the gradient pattern should cycle repeatedly between the two colors;falseotherwise- Throws:
 NullPointerException- if either one of colors or points is null
 
 - 
 
- 
Method Detail
- 
getPoint1
public Point2D getPoint1()
Returns a copy of the point P1 that anchors the first color.- Returns:
 - a 
Point2Dobject that is a copy of the point that anchors the first color of thisGradientPaint. 
 
- 
getColor1
public Color getColor1()
Returns the color C1 anchored by the point P1.- Returns:
 - a 
Colorobject that is the color anchored by P1. 
 
- 
getPoint2
public Point2D getPoint2()
Returns a copy of the point P2 which anchors the second color.- Returns:
 - a 
Point2Dobject that is a copy of the point that anchors the second color of thisGradientPaint. 
 
- 
getColor2
public Color getColor2()
Returns the color C2 anchored by the point P2.- Returns:
 - a 
Colorobject that is the color anchored by P2. 
 
- 
isCyclic
public boolean isCyclic()
Returnstrueif the gradient cycles repeatedly between the two colors C1 and C2.- Returns:
 trueif the gradient cycles repeatedly between the two colors;falseotherwise.
 
- 
createContext
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
Creates and returns aPaintContextused to generate a linear color gradient pattern. See thespecificationof the method in thePaintinterface for information on null parameter handling.- Specified by:
 createContextin interfacePaint- Parameters:
 cm- the preferredColorModelwhich represents the most convenient format for the caller to receive the pixel data, ornullif 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- theAffineTransformfrom user space into device space.hints- the set of hints that the context object can use to choose between rendering alternatives.- Returns:
 - the 
PaintContextfor generating color patterns. - See Also:
 Paint,PaintContext,ColorModel,Rectangle,Rectangle2D,AffineTransform,RenderingHints
 
- 
getTransparency
public int getTransparency()
Returns the transparency mode for thisGradientPaint.- Specified by:
 getTransparencyin interfaceTransparency- Returns:
 - an integer value representing this 
GradientPaintobject's transparency mode. - See Also:
 Transparency
 
 - 
 
 -