Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt
Class GradientPaint

    java.lang.Object
      |
      +--java.awt.GradientPaint

All Implemented Interfaces:
  Paint, Transparency

public class GradientPaint
extends Object
implements Paint

The `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.

- 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 `Color` C1 while points on the P2 side have the constant `Color` C2.

See Also:
  `Paint`, `Graphics2D.setPaint(java.awt.Paint)`

Fields inherited from interface java.awt.Transparency
`BITMASK, OPAQUE, TRANSLUCENT`

Constructor Summary
`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.

Method Summary
`PaintContext` | `createContext(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)` Creates and returns a context used to generate the color 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.

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 color1,
                         float x2,
                         float y2,
                         Color color2)

  Constructs a simple acyclic `GradientPaint` object.
  Parameters:
    `x1, y1` - coordinates of the first specified `Point` in user space
    `color1` - `Color` at the first specified `Point`
    `x2, y2` - coordinates of the second specified `Point` in user space
    `color2` - `Color` at the second specified `Point`

### GradientPaint

    public GradientPaint(Point2D pt1,
                         Color color1,
                         Point2D pt2,
                         Color color2)

  Constructs a simple acyclic `GradientPaint` object.
  Parameters:
    `pt1` - the first specified `Point` in user space
    `color1` - `Color` at the first specified `Point`
    `pt2` - the second specified `Point` in user space
    `color2` - `Color` at the second specified `Point`

### GradientPaint

    public 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.
  Parameters:
    `x1, y1` - coordinates of the first specified `Point` in user space
    `color1` - `Color` at the first specified `Point`
    `x2, y2` - coordinates of the second specified `Point` in user space
    `color2` - `Color` at the second specified `Point`
    `cyclic` - `true` if the gradient pattern should cycle repeatedly between the two colors; `false` otherwise

### GradientPaint

    public GradientPaint(Point2D pt1,
                         Color color1,
                         Point2D pt2,
                         Color color2,
                         boolean cyclic)

  Constructs either a cyclic or acyclic `GradientPaint` object depending on the `boolean` parameter.
  Parameters:
    `pt1` - the first specified `Point` in user space
    `color1` - `Color` at the first specified `Point`
    `pt2` - the second specified `Point` in user space
    `color2` - `Color` at the second specified `Point`
    `cyclic` - `true` if the gradient pattern should cycle repeatedly between the two colors; `false` otherwise

Method Detail

### getPoint1

    public Point2D getPoint1()

  Returns a copy of the point P1 that anchors the first color.
  Returns:
    a `Point2D` object that is a copy of the point that anchors the first color of this `GradientPaint`.

### getColor1

    public Color getColor1()

  Returns the color C1 anchored by the point P1.
  Returns:
    a `Color` object 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 `Point2D` object that is a copy of the point that anchors the second color of this `GradientPaint`.

### getColor2

    public Color getColor2()

  Returns the color C2 anchored by the point P2.
  Returns:
    a `Color` object that is the color anchored by P2.

### isCyclic

    public boolean isCyclic()

  Returns `true` if the gradient cycles repeatedly between the two colors C1 and C2.
  Returns:
    `true` if the gradient cycles repeatedly between the two colors; `false` otherwise.

### createContext

    public PaintContext createContext(ColorModel cm,
                                      Rectangle deviceBounds,
                                      Rectangle2D userBounds,
                                      AffineTransform xform,
                                      RenderingHints hints)

  Creates and returns a context used to generate the color pattern.
  Specified by:
    `createContext` in interface `Paint`
  Parameters:
    `cm` - `ColorModel` that receives the `Paint` data. This is used only as a hint.
    `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 hints that the context object uses to choose between rendering alternatives
  Returns:
    the `PaintContext` that generates color patterns.
  See Also:
    `PaintContext`

### getTransparency

    public int getTransparency()

  Returns the transparency mode for this `GradientPaint`.
  Specified by:
    `getTransparency` in interface `Transparency`
  Returns:
    an integer value representing this `GradientPaint` object's transparency mode.
  See Also:
    `Transparency`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.