java.awt
Class GradientPaint

java.lang.Object
  extended by java.awt.GradientPaint
All Implemented Interfaces:
Paint, Transparency

public class GradientPaint
extends Object
implements Paint

A paint object that can be used to color a region by blending two colors. Instances of this class are immutable.


Field Summary
 
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
 
Constructor Summary
GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2)
          Creates a new acyclic GradientPaint.
GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2, boolean cyclic)
          Creates a new cyclic or acyclic GradientPaint.
GradientPaint(Point2D p1, Color c1, Point2D p2, Color c2)
          Creates a new acyclic GradientPaint.
GradientPaint(Point2D p1, Color c1, Point2D p2, Color c2, boolean cyclic)
          Creates a new cyclic or acyclic GradientPaint.
 
Method Summary
 PaintContext createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)
          Returns the PaintContext used to generate the color pattern.
 Color getColor1()
          Returns the first color.
 Color getColor2()
          Returns the second color.
 Point2D getPoint1()
          Returns a point with the same coordinates as the anchor point for color 1.
 Point2D getPoint2()
          Returns a point with the same coordinates as the anchor point for color 2.
 int getTransparency()
          Returns the transparency code for this GradientPaint instance.
 boolean isCyclic()
          Returns true if this GradientPaint instance is cyclic, and false otherwise.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GradientPaint

public GradientPaint(float x1,
                     float y1,
                     Color c1,
                     float x2,
                     float y2,
                     Color c2)
Creates a new acyclic GradientPaint.

Parameters:
x1 - the x-coordinate of the anchor point for color 1.
y1 - the y-coordinate of the anchor point for color 1.
c1 - color 1 (null not permitted).
x2 - the x-coordinate of the anchor point for color 2.
y2 - the y-coordinate of the anchor point for color 2.
c2 - the second color (null not permitted).

GradientPaint

public GradientPaint(Point2D p1,
                     Color c1,
                     Point2D p2,
                     Color c2)
Creates a new acyclic GradientPaint.

Parameters:
p1 - anchor point 1 (null not permitted).
c1 - color 1 (null not permitted).
p2 - anchor point 2 (null not permitted).
c2 - color 2 (null not permitted).

GradientPaint

public GradientPaint(float x1,
                     float y1,
                     Color c1,
                     float x2,
                     float y2,
                     Color c2,
                     boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.

Parameters:
x1 - the x-coordinate of the anchor point for color 1.
y1 - the y-coordinate of the anchor point for color 1.
c1 - color 1 (null not permitted).
x2 - the x-coordinate of the anchor point for color 2.
y2 - the y-coordinate of the anchor point for color 2.
c2 - the second color (null not permitted).
cyclic - a flag that controls whether the gradient is cyclic or acyclic.

GradientPaint

public GradientPaint(Point2D p1,
                     Color c1,
                     Point2D p2,
                     Color c2,
                     boolean cyclic)
Creates a new cyclic or acyclic GradientPaint.

Parameters:
p1 - anchor point 1 (null not permitted).
c1 - color 1 (null not permitted).
p2 - anchor point 2 (null not permitted).
c2 - color 2 (null not permitted).
cyclic - a flag that controls whether the gradient is cyclic or acyclic.
Method Detail

getPoint1

public Point2D getPoint1()
Returns a point with the same coordinates as the anchor point for color 1. Note that if you modify this point, the GradientPaint remains unchanged.

Returns:
A point with the same coordinates as the anchor point for color 1.

getColor1

public Color getColor1()
Returns the first color.

Returns:
The color (never null).

getPoint2

public Point2D getPoint2()
Returns a point with the same coordinates as the anchor point for color 2. Note that if you modify this point, the GradientPaint remains unchanged.

Returns:
A point with the same coordinates as the anchor point for color 2.

getColor2

public Color getColor2()
Returns the second color.

Returns:
The color (never null).

isCyclic

public boolean isCyclic()
Returns true if this GradientPaint instance is cyclic, and false otherwise.

Returns:
A boolean.

createContext

public PaintContext createContext(ColorModel cm,
                                  Rectangle deviceBounds,
                                  Rectangle2D userBounds,
                                  AffineTransform xform,
                                  RenderingHints hints)
Returns the PaintContext used to generate the color pattern.

Specified by:
createContext in interface Paint
Parameters:
cm - the color model, used as a hint (ignored in this implementation).
deviceBounds - the device space bounding box of the painted area.
userBounds - the user space bounding box of the painted area.
xform - the transformation from user space to device space.
hints - any hints for choosing between rendering alternatives.
Returns:
The context for performing the paint

getTransparency

public int getTransparency()
Returns the transparency code for this GradientPaint instance. This is derived from the two Color objects used in creating this object: if both colors are opaque, this method returns Transparency.OPAQUE, otherwise it returns Transparency.TRANSLUCENT.

Specified by:
getTransparency in interface Transparency
Returns:
Transparency.OPAQUE or Transparency.TRANSLUCENT.