com.ijchart.xychart.render.noaxis
Class SpiderWebRender

java.lang.Object
  extended by com.ijchart.xychart.render.AbstractRender
      extended by com.ijchart.xychart.render.noaxis.AbstractNoAxisRender
          extended by com.ijchart.xychart.render.noaxis.SpiderWebRender
All Implemented Interfaces:
IDatasetChangeListener, INoAxisRender, IRender, java.io.Serializable, java.lang.Cloneable, java.util.EventListener

public class SpiderWebRender
extends AbstractNoAxisRender
implements INoAxisRender, java.lang.Cloneable, java.io.Serializable

Title: IJChart

Description: a chart library for the Java(tm) platform.

Draw spider web chart shapes.

Copyright: Copyright (c) 2013

Company:

Version:
1.0
Author:
zhang feng min,shanghai china. Contract me by email.
See Also:
Serialized Form

Field Summary
static java.awt.Paint DEFAULT_AXIS_LINE_PAINT
           The default paint used to draw the axis lines.
static java.awt.Stroke DEFAULT_AXIS_LINE_STROKE
           The default stroke used to draw the axis lines.
static Rotation DEFAULT_DIRECTION
           The default rotation of draw axis.
static double DEFAULT_HEAD_SIZE
           The default head radius percent (currently 1%).
static double DEFAULT_INTERIOR_GAP
           The default space left around the outside of the plot as a percentage.
static java.awt.Font DEFAULT_LABEL_FONT
           The default font used to display the labels.
static java.awt.Paint DEFAULT_LABEL_PAINT
           The default color used to draw the category labels.
static double DEFAULT_START_ANGLE
           The default starting angle.
 
Fields inherited from class com.ijchart.xychart.render.AbstractRender
borderPaints, borderStrokes, DEFAULT_AUTO_SELECT_BORDER_PAINT, DEFAULT_AUTO_SELECT_BORDER_STROKE, DEFAULT_AUTO_SELECT_FILL_PAINT, DEFAULT_BACKGROUND_IMAGE_ALIGNMENT, DEFAULT_BACKGROUND_PAINT, DEFAULT_BASE_BORDER_PAINT, DEFAULT_BASE_BORDER_STROKE, DEFAULT_BASE_ITEM_FILL, DEFAULT_BASE_ITEM_FILL_PAINT, DEFAULT_BASE_ITEM_FILL_PAINT_TRANSFORMER, DEFAULT_BASE_ITEM_LABEL_FONT, DEFAULT_BASE_ITEM_LABEL_HORIZONTAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_PAINT, DEFAULT_BASE_ITEM_LABEL_VERTICAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_VISIBLE, DEFAULT_BORDER_PAINT, DEFAULT_BORDER_STROKE, DEFAULT_DRAW_BORDER, DEFAULT_DRAWINT_SUPPLIER, DEFAULT_GENERATOR_TOOLTIP, DEFAULT_GENERATOR_URL, DEFAULT_LABEL_GENERATOR, DEFAULT_RENDER_AREA_BORDER_VISIBLE, DEFAULT_TOOLTIP_GENERATOR, fillPaints
 
Constructor Summary
SpiderWebRender(IMatrixDataset dataset)
           constructor.
 
Method Summary
 java.lang.Object clone()
           Creates and returns a copy of this object.
protected  IChartShape createItemShapeOnly(java.awt.geom.Rectangle2D rect, java.lang.String text, java.lang.Object appendParam)
           Create a shape with no attribute specified.
 void drawAllItems(java.awt.geom.Rectangle2D dataArea, RenderShapeCollection renderShapes, float alpha)
           Draws all data items.
 boolean equals(java.lang.Object obj)
           Tests this instance for equality with an arbitrary object.
 java.awt.Paint getAxisLinePaint()
           Returns the paint used to draw the axis lines.
 java.awt.Stroke getAxisLineStroke()
           Returns the stroke used to draw the axis lines.
 Rotation getDirection()
           Returns the rotation of draw axis.
 double getHeadSize()
           Returns the head size.
 double getInteriorGap()
           Returns the space left around the outside of the plot as a percentage.
 java.awt.Font getLabelFont()
           Returns the font used to display the labels.
protected  IChartShape[] getLegendItemShapes(int legendCount)
           Returns the shape array of legend items.
 LegendType getLegendType()
           Return the legend type.
 double getStartAngle()
           Returns the starting angle.
 int hashCode()
           Returns a hash code value for the object.
 void setAxisLinePaint(java.awt.Paint paint)
           Sets the paint used to draw the axis lines and sends a RenderChangeEvent to all registered listeners.
 void setAxisLineStroke(java.awt.Stroke stroke)
           Sets the stroke used to draw the axis lines and sends a RenderChangeEvent to all registered listeners.
 void setDirection(Rotation direction)
           Sets the rotation of draw axis and sends a RenderChangeEvent to all registered listeners.
 void setHeadSize(double size)
           Sets the head size and sends a RenderChangeEvent to all registered listeners.
 void setInteriorGap(double gap)
           Sets the space left around the outside of the plot as a percentage and sends a RenderChangeEvent to all registered listeners.
 void setLabelFont(java.awt.Font font)
           Sets the font used to display the labels and sends a RenderChangeEvent to all registered listeners.
 void setStartAngle(double angle)
           Sets the starting angle and sends a RenderChangeEvent to all registered listeners.
 java.lang.String toString()
           Returns a string representation of the object.
 
Methods inherited from class com.ijchart.xychart.render.noaxis.AbstractNoAxisRender
createItemShape
 
Methods inherited from class com.ijchart.xychart.render.AbstractRender
add3DShapes, addChangeListener, calculateLegendItemShapes, datasetChanged, drawBackground, drawBackgroundImage, drawDrawAreaBorder, fireRenderChanged, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelDirection, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getBorderPaints, getBorderStrokes, getChartArea, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelDirection, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getDataset, getDrawingSupplier, getFillPaints, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintHelper, getItemFillPaintTransformer, getItemLabelDirection, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getLegendItemCount, getLegendItemLabels, getLegendItemLabelsByColumn, getLegendItemLabelsByRow, getLegendPositon, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRenderAreaBorderPaint, getRenderAreaBorderStroke, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelDirection, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, hasListener, isAutoSelectBorderPaint, isAutoSelectBorderStroke, isAutoSelectFillPaint, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isGeneratorTooltip, isGeneratorUrl, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRenderAreaBorderVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, notifyListeners, removeAllChangeListener, removeChangeListener, setAutoSelectBorderPaint, setAutoSelectBorderStroke, setAutoSelectFillPaint, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelDirection, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setChartArea, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelDirection, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setDataset, setDrawingSupplier, setDrawingSupplier, setGeneratorTooltip, setGeneratorUrl, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelDirection, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setLegendPositon, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRenderAreaBorderPaint, setRenderAreaBorderStroke, setRenderAreaBorderVisible, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelDirection, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ijchart.xychart.render.IRender
addChangeListener, drawBackground, drawBackgroundImage, drawDrawAreaBorder, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintTransformer, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, removeAllChangeListener, removeChangeListener, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 

Field Detail

DEFAULT_HEAD_SIZE

public static final double DEFAULT_HEAD_SIZE
The default head radius percent (currently 1%).

See Also:
Constant Field Values

DEFAULT_INTERIOR_GAP

public static final double DEFAULT_INTERIOR_GAP
The default space left around the outside of the plot as a percentage.

See Also:
Constant Field Values

DEFAULT_AXIS_LINE_PAINT

public static final java.awt.Paint DEFAULT_AXIS_LINE_PAINT
The default paint used to draw the axis lines.


DEFAULT_AXIS_LINE_STROKE

public static final java.awt.Stroke DEFAULT_AXIS_LINE_STROKE
The default stroke used to draw the axis lines.


DEFAULT_DIRECTION

public static final Rotation DEFAULT_DIRECTION
The default rotation of draw axis.


DEFAULT_START_ANGLE

public static final double DEFAULT_START_ANGLE
The default starting angle.

See Also:
Constant Field Values

DEFAULT_LABEL_FONT

public static final java.awt.Font DEFAULT_LABEL_FONT
The default font used to display the labels.


DEFAULT_LABEL_PAINT

public static final java.awt.Paint DEFAULT_LABEL_PAINT
The default color used to draw the category labels.

Constructor Detail

SpiderWebRender

public SpiderWebRender(IMatrixDataset dataset)
constructor.

Parameters:
dataset - IMatrixDataset The dataset (null not permitted).
Method Detail

getHeadSize

public double getHeadSize()
Returns the head size.

Returns:
double The head size.

setHeadSize

public void setHeadSize(double size)
Sets the head size and sends a RenderChangeEvent to all registered listeners.

Parameters:
size - double The head size,in percent.

getInteriorGap

public double getInteriorGap()
Returns the space left around the outside of the plot as a percentage.

Returns:
double The space size.

setInteriorGap

public void setInteriorGap(double gap)
Sets the space left around the outside of the plot as a percentage and sends a RenderChangeEvent to all registered listeners.

Parameters:
gap - double The space size.

getAxisLinePaint

public java.awt.Paint getAxisLinePaint()
Returns the paint used to draw the axis lines.

Returns:
Paint The paint (never null).

setAxisLinePaint

public void setAxisLinePaint(java.awt.Paint paint)
Sets the paint used to draw the axis lines and sends a RenderChangeEvent to all registered listeners.

Parameters:
paint - Paint The paint (null not permitted).

getAxisLineStroke

public java.awt.Stroke getAxisLineStroke()
Returns the stroke used to draw the axis lines.

Returns:
Stroke The stroke (never null).

setAxisLineStroke

public void setAxisLineStroke(java.awt.Stroke stroke)
Sets the stroke used to draw the axis lines and sends a RenderChangeEvent to all registered listeners.

Parameters:
stroke - Stroke The stroke (null not permitted).

getDirection

public Rotation getDirection()
Returns the rotation of draw axis.

Returns:
Rotation The rotation (never null).

setDirection

public void setDirection(Rotation direction)
Sets the rotation of draw axis and sends a RenderChangeEvent to all registered listeners.

Parameters:
direction - Rotation The rotation (null not permitted).

getStartAngle

public double getStartAngle()
Returns the starting angle.

Returns:
double The starting angle.

setStartAngle

public void setStartAngle(double angle)
Sets the starting angle and sends a RenderChangeEvent to all registered listeners.

Parameters:
angle - double The starting angle.

getLabelFont

public java.awt.Font getLabelFont()
Returns the font used to display the labels.

Returns:
Font The font (never null).

setLabelFont

public void setLabelFont(java.awt.Font font)
Sets the font used to display the labels and sends a RenderChangeEvent to all registered listeners.

Parameters:
font - Font The font (null not permitted).

drawAllItems

public void drawAllItems(java.awt.geom.Rectangle2D dataArea,
                         RenderShapeCollection renderShapes,
                         float alpha)
Draws all data items.

Specified by:
drawAllItems in class AbstractNoAxisRender
Parameters:
dataArea - Rectangle2D The chart data area (null not permitted).
renderShapes - RenderShapeCollection Collects information about the render (null not permitted).
alpha - float The alpha transparency (in the range 0.0f to 1.0f, where 0.0f is fully transparent, and 1.0f is fully opaque).

getLegendItemShapes

protected IChartShape[] getLegendItemShapes(int legendCount)
Returns the shape array of legend items.

Overrides:
getLegendItemShapes in class AbstractRender
Parameters:
legendCount - int The legend items count.
Returns:
IChartShape[] The shapes array.

getLegendType

public LegendType getLegendType()
Return the legend type.

Specified by:
getLegendType in interface IRender
Overrides:
getLegendType in class AbstractRender
Returns:
LegendType The legend type.

createItemShapeOnly

protected IChartShape createItemShapeOnly(java.awt.geom.Rectangle2D rect,
                                          java.lang.String text,
                                          java.lang.Object appendParam)
Create a shape with no attribute specified.

Overrides:
createItemShapeOnly in class AbstractRender
Parameters:
rect - Rectangle2D The bar rectangle (null not permitted).
text - String The text (null permitted).
appendParam - Object The append parameter,used for special propose (null permitted).
Returns:
IChartShape The shape.

equals

public boolean equals(java.lang.Object obj)
Tests this instance for equality with an arbitrary object.

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

hashCode

public int hashCode()
Returns a hash code value for the object.

Overrides:
hashCode in class AbstractNoAxisRender
Returns:
int A hash code value for this object.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this object.

Overrides:
clone in class AbstractNoAxisRender
Returns:
object a clone of this instance.
Throws:
java.lang.CloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.

toString

public java.lang.String toString()
Returns a string representation of the object.

Overrides:
toString in class AbstractNoAxisRender
Returns:
a string representation of the object.