org.jfree.chart.title

## Class PaintScaleLegend

- java.lang.Object
- - org.jfree.chart.block.AbstractBlock
  - - org.jfree.chart.title.Title
    - - org.jfree.chart.title.PaintScaleLegend

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.util.EventListener, Block, AxisChangeListener, org.jfree.ui.Drawable, org.jfree.util.PublicCloneable

    public class PaintScaleLegend
    extends Title
    implements AxisChangeListener, org.jfree.util.PublicCloneable

A legend that shows a range of values and their associated colors, driven by an underlying `PaintScale` implementation.

Since:
  1.0.4
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class org.jfree.chart.title.Title

`DEFAULT_HORIZONTAL_ALIGNMENT, DEFAULT_PADDING, DEFAULT_POSITION, DEFAULT_VERTICAL_ALIGNMENT, visible`

### Constructor Summary

Constructors
Constructor and Description
`PaintScaleLegend(PaintScale scale, ValueAxis axis)` Creates a new instance.

### Method Summary

Methods
`org.jfree.ui.Size2D` `arrange(java.awt.Graphics2D g2, RectangleConstraint constraint)` Arranges the contents of the block, within the given constraints, and returns the block size.
`protected org.jfree.ui.Size2D` `arrangeRR(java.awt.Graphics2D g2, Range widthRange, Range heightRange)` Returns the content size for the title.
`void` `axisChanged(AxisChangeEvent event)` Receives notification of an axis change event and responds by firing a title change event.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws the legend within the specified area.
`java.lang.Object` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.lang.Object params)` Draws the legend within the specified area.
`boolean` `equals(java.lang.Object obj)` Tests this legend for equality with an arbitrary object.
`ValueAxis` `getAxis()` Returns the axis for the paint scale.
`AxisLocation` `getAxisLocation()` Returns the axis location.
`double` `getAxisOffset()` Returns the offset between the axis and the paint strip.
`java.awt.Paint` `getBackgroundPaint()` Returns the background paint.
`PaintScale` `getScale()` Returns the scale used to convert values to colors.
`java.awt.Paint` `getStripOutlinePaint()` Returns the paint used to draw the outline of the paint strip.
`java.awt.Stroke` `getStripOutlineStroke()` Returns the stroke used to draw the outline around the paint strip.
`double` `getStripWidth()` Returns the width of the paint strip, in Java2D units.
`int` `getSubdivisionCount()` Returns the number of subdivisions used to draw the scale.
`boolean` `isStripOutlineVisible()` Returns the flag that controls whether or not an outline is drawn around the paint strip.
`void` `setAxis(ValueAxis axis)` Sets the axis for the paint scale and sends a `TitleChangeEvent` to all registered listeners.
`void` `setAxisLocation(AxisLocation location)` Sets the axis location and sends a `TitleChangeEvent` to all registered listeners.
`void` `setAxisOffset(double offset)` Sets the offset between the axis and the paint strip and sends a `TitleChangeEvent` to all registered listeners.
`void` `setBackgroundPaint(java.awt.Paint paint)` Sets the background paint and sends a `TitleChangeEvent` to all registered listeners.
`void` `setScale(PaintScale scale)` Sets the scale and sends a `TitleChangeEvent` to all registered listeners.
`void` `setStripOutlinePaint(java.awt.Paint paint)` Sets the paint used to draw the outline of the paint strip, and sends a `TitleChangeEvent` to all registered listeners.
`void` `setStripOutlineStroke(java.awt.Stroke stroke)` Sets the stroke used to draw the outline around the paint strip and sends a `TitleChangeEvent` to all registered listeners.
`void` `setStripOutlineVisible(boolean visible)` Sets the flag that controls whether or not an outline is drawn around the paint strip, and sends a `TitleChangeEvent` to all registered listeners.
`void` `setStripWidth(double width)` Sets the width of the paint strip and sends a `TitleChangeEvent` to all registered listeners.
`void` `setSubdivisionCount(int count)` Sets the subdivision count and sends a `TitleChangeEvent` to all registered listeners.

### Methods inherited from class org.jfree.chart.title.Title

`addChangeListener, clone, getHorizontalAlignment, getNotify, getPosition, getVerticalAlignment, hashCode, isVisible, notifyListeners, removeChangeListener, setHorizontalAlignment, setNotify, setPosition, setVerticalAlignment, setVisible`

### Methods inherited from class org.jfree.chart.block.AbstractBlock

`arrange, calculateTotalHeight, calculateTotalWidth, drawBorder, getBorder, getBounds, getContentXOffset, getContentYOffset, getFrame, getHeight, getID, getMargin, getPadding, getWidth, setBorder, setBorder, setBounds, setFrame, setHeight, setID, setMargin, setMargin, setPadding, setPadding, setWidth, toContentConstraint, trimBorder, trimMargin, trimPadding, trimToContentHeight, trimToContentWidth`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.jfree.util.PublicCloneable

`clone`

### Methods inherited from interface org.jfree.chart.block.Block

`arrange, getBounds, getID, setBounds, setID`

### Constructor Detail

#### PaintScaleLegend

    public PaintScaleLegend(PaintScale scale,
                    ValueAxis axis)

Creates a new instance.

Parameters:
  `scale` - the scale (`null` not permitted).
  `axis` - the axis (`null` not permitted).

### Method Detail

#### getScale

    public PaintScale getScale()

Returns the scale used to convert values to colors.

Returns:
  The scale (never `null`).
See Also:
  `setScale(PaintScale)`

#### setScale

    public void setScale(PaintScale scale)

Sets the scale and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `scale` - the scale (`null` not permitted).
See Also:
  `getScale()`

#### getAxis

    public ValueAxis getAxis()

Returns the axis for the paint scale.

Returns:
  The axis (never `null`).
See Also:
  `setAxis(ValueAxis)`

#### setAxis

    public void setAxis(ValueAxis axis)

Sets the axis for the paint scale and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `axis` - the axis (`null` not permitted).
See Also:
  `getAxis()`

#### getAxisLocation

    public AxisLocation getAxisLocation()

Returns the axis location.

Returns:
  The axis location (never `null`).
See Also:
  `setAxisLocation(AxisLocation)`

#### setAxisLocation

    public void setAxisLocation(AxisLocation location)

Sets the axis location and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `location` - the location (`null` not permitted).
See Also:
  `getAxisLocation()`

#### getAxisOffset

    public double getAxisOffset()

Returns the offset between the axis and the paint strip.

Returns:
  The offset between the axis and the paint strip.
See Also:
  `setAxisOffset(double)`

#### setAxisOffset

    public void setAxisOffset(double offset)

Sets the offset between the axis and the paint strip and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `offset` - the offset.

#### getStripWidth

    public double getStripWidth()

Returns the width of the paint strip, in Java2D units.

Returns:
  The width of the paint strip.
See Also:
  `setStripWidth(double)`

#### setStripWidth

    public void setStripWidth(double width)

Sets the width of the paint strip and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `width` - the width.
See Also:
  `getStripWidth()`

#### isStripOutlineVisible

    public boolean isStripOutlineVisible()

Returns the flag that controls whether or not an outline is drawn around the paint strip.

Returns:
  A boolean.
See Also:
  `setStripOutlineVisible(boolean)`

#### setStripOutlineVisible

    public void setStripOutlineVisible(boolean visible)

Sets the flag that controls whether or not an outline is drawn around the paint strip, and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `visible` - the flag.
See Also:
  `isStripOutlineVisible()`

#### getStripOutlinePaint

    public java.awt.Paint getStripOutlinePaint()

Returns the paint used to draw the outline of the paint strip.

Returns:
  The paint (never `null`).
See Also:
  `setStripOutlinePaint(Paint)`

#### setStripOutlinePaint

    public void setStripOutlinePaint(java.awt.Paint paint)

Sets the paint used to draw the outline of the paint strip, and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getStripOutlinePaint()`

#### getStripOutlineStroke

    public java.awt.Stroke getStripOutlineStroke()

Returns the stroke used to draw the outline around the paint strip.

Returns:
  The stroke (never `null`).
See Also:
  `setStripOutlineStroke(Stroke)`

#### setStripOutlineStroke

    public void setStripOutlineStroke(java.awt.Stroke stroke)

Sets the stroke used to draw the outline around the paint strip and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `stroke` - the stroke (`null` not permitted).
See Also:
  `getStripOutlineStroke()`

#### getBackgroundPaint

    public java.awt.Paint getBackgroundPaint()

Returns the background paint.

Returns:
  The background paint.

#### setBackgroundPaint

    public void setBackgroundPaint(java.awt.Paint paint)

Sets the background paint and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` permitted).

#### getSubdivisionCount

    public int getSubdivisionCount()

Returns the number of subdivisions used to draw the scale.

Returns:
  The subdivision count.
Since:
  1.0.11

#### setSubdivisionCount

    public void setSubdivisionCount(int count)

Sets the subdivision count and sends a `TitleChangeEvent` to all registered listeners.

Parameters:
  `count` - the count.
Since:
  1.0.11

#### axisChanged

    public void axisChanged(AxisChangeEvent event)

Receives notification of an axis change event and responds by firing a title change event.

Specified by:
  `axisChanged` in interface `AxisChangeListener`
Parameters:
  `event` - the event.
Since:
  1.0.13

#### arrange

    public org.jfree.ui.Size2D arrange(java.awt.Graphics2D g2,
                              RectangleConstraint constraint)

Arranges the contents of the block, within the given constraints, and returns the block size.

Specified by:
  `arrange` in interface `Block`
Overrides:
  `arrange` in class `AbstractBlock`
Parameters:
  `g2` - the graphics device.
  `constraint` - the constraint (`null` not permitted).
Returns:
  The block size (in Java2D units, never `null`).

#### arrangeRR

    protected org.jfree.ui.Size2D arrangeRR(java.awt.Graphics2D g2,
                                Range widthRange,
                                Range heightRange)

Returns the content size for the title. This will reflect the fact that a text title positioned on the left or right of a chart will be rotated 90 degrees.

Parameters:
  `g2` - the graphics device.
  `widthRange` - the width range.
  `heightRange` - the height range.
Returns:
  The content size.

#### draw

    public void draw(java.awt.Graphics2D g2,
            java.awt.geom.Rectangle2D area)

Draws the legend within the specified area.

Specified by:
  `draw` in interface `org.jfree.ui.Drawable`
Specified by:
  `draw` in class `Title`
Parameters:
  `g2` - the graphics target (`null` not permitted).
  `area` - the drawing area (`null` not permitted).

#### draw

    public java.lang.Object draw(java.awt.Graphics2D g2,
                        java.awt.geom.Rectangle2D area,
                        java.lang.Object params)

Draws the legend within the specified area.

Specified by:
  `draw` in interface `Block`
Parameters:
  `g2` - the graphics target (`null` not permitted).
  `area` - the drawing area (`null` not permitted).
  `params` - drawing parameters (ignored here).
Returns:
  `null`.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this legend for equality with an arbitrary object.

Overrides:
  `equals` in class `Title`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.