com.ijchart.xychart.render.category
Class AbstractCategoryRender

java.lang.Object
  extended by com.ijchart.xychart.render.AbstractRender
      extended by com.ijchart.xychart.render.AbstractWithAxisRender
          extended by com.ijchart.xychart.render.category.AbstractCategoryRender
All Implemented Interfaces:
IDatasetChangeListener, IRender, IRenderWithAxis, java.io.Serializable, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
AbstractBaseValueCategoryRender, AreaRender, BoxAndWhiskerRender, GranttRender, IntervalBarRender, LevelRender, Line3DRender, LineAndShapeRender, MinMaxRender, StackedAreaRender, StackedBarRender, StatisticalLineRender, StepRender, WaterfallBarRender

public abstract class AbstractCategoryRender
extends AbstractWithAxisRender
implements java.lang.Cloneable, java.io.Serializable

Title: IJChart

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

提供分类(category)render的抽象实现.

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 double DEFAULT_BASE_VALUE
          缺省用于绘制柱状图的的基值,基值必须在坐标轴刻度值的最小值与最大值之间.
static double DEFAULT_ITEM_MARGIN
          缺省空白区域占整个区域的百分比.
static double DEFAULT_MAXIMUM_BAR_WIDTH
          缺省每个柱状图的最大宽度(单位为Java2D标准单位).
static double DEFAULT_MINIMUM_BAR_WIDTH
          缺省的柱状图的最小绘制宽度.如果宽度小于此值将不绘制.
 
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
protected AbstractCategoryRender(IMatrixDataset dataset)
          构造器.
 
Method Summary
 void addAnnotation(ICategoryAnnotation annotation)
          增加一个注解(annotation)对象,并向所有监听器发送 RenderChangeEvent事件.
 java.lang.Object clone()
          返回克隆的对象.
protected static IChartShape createCategoryMarkerShape(CategoryMarker marker, java.awt.geom.Rectangle2D rect)
          创建category marker图形.
 void drawAllAnnotation(CategoryAxis categoryAxis, AbstractValueAxis valueAxis, RectangleEdge valueAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, AnnotationShapeCollection annotationShapes)
          绘制所有的注解(annotation)图形.
abstract  void drawAllItems(CategoryAxis categoryAxis, AbstractValueAxis valueAxis, RectangleEdge valueAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes, float alpha)
          绘制所有的图形.
 void drawCategoryMarker(CategoryAxis categoryAxis, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes)
          绘制category marker.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 java.util.Collection getAllAnnotations()
          返回所有的注解(annotation)对象,此集合在外面是不能被更改的.
 double getBaseValue()
          返回用于绘制柱状图的的基值,基值必须在数据集的最小值与最大值之间.
 double getItemMargin()
          返回空白区域占整个区域的百分比.
 double getMaximumBarWidth()
          返回每个柱状图的最大宽度(单位为Java2D标准单位).
 double getMinimumBarWidth()
          返回每个柱状图的最小绘制宽度(单位为Java2D标准单位).
 int hashCode()
          计算对象的hashcode值.
 void removeAllAnnotation()
          删除所有的注解(annotation)对象,并向所有监听器发送 RenderChangeEvent事件.
 void setBaseValue(double value)
          设置用于绘制柱状图的的基值,基值必须在数据集的最小值与最大值之间, 并向所有监听器发送RenderChangeEvent事件.
 void setItemMargin(double percent)
          设置空白区域占整个区域的百分比,并向所有监听器发送 RenderChangeEvent事件.
 void setMinimumBarWidth(double barWidth)
          设置每个柱状图的最小宽度(单位为Java2D标准单位),如果宽度小于此值将不绘制.并向所有监听器发送 RenderChangeEvent事件.
 java.lang.String toString()
          覆盖toString方法.
 
Methods inherited from class com.ijchart.xychart.render.AbstractWithAxisRender
createItemShape, createValueMarkerShape, drawIntervalValueMarker, drawValueMarker, getValueAxisOffsetType
 
Methods inherited from class com.ijchart.xychart.render.AbstractRender
add3DShapes, addChangeListener, calculateLegendItemShapes, createItemShapeOnly, 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, getLegendItemShapes, getLegendPositon, getLegendType, 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, getLegendType, 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_ITEM_MARGIN

public static final double DEFAULT_ITEM_MARGIN
缺省空白区域占整个区域的百分比.

See Also:
Constant Field Values

DEFAULT_BASE_VALUE

public static final double DEFAULT_BASE_VALUE
缺省用于绘制柱状图的的基值,基值必须在坐标轴刻度值的最小值与最大值之间.

See Also:
Constant Field Values

DEFAULT_MINIMUM_BAR_WIDTH

public static final double DEFAULT_MINIMUM_BAR_WIDTH
缺省的柱状图的最小绘制宽度.如果宽度小于此值将不绘制.

See Also:
Constant Field Values

DEFAULT_MAXIMUM_BAR_WIDTH

public static final double DEFAULT_MAXIMUM_BAR_WIDTH
缺省每个柱状图的最大宽度(单位为Java2D标准单位).

See Also:
Constant Field Values
Constructor Detail

AbstractCategoryRender

protected AbstractCategoryRender(IMatrixDataset dataset)
构造器.

Parameters:
dataset - IMatrixDataset 数据集 (不可为null).
Method Detail

getItemMargin

public double getItemMargin()
返回空白区域占整个区域的百分比.

Returns:
空白区域占整个区域的百分比

setItemMargin

public void setItemMargin(double percent)
设置空白区域占整个区域的百分比,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
percent - double 空白区域占整个区域的百分比值.

getBaseValue

public double getBaseValue()
返回用于绘制柱状图的的基值,基值必须在数据集的最小值与最大值之间.

Returns:
用于绘制柱状图的的基值.

setBaseValue

public void setBaseValue(double value)
设置用于绘制柱状图的的基值,基值必须在数据集的最小值与最大值之间, 并向所有监听器发送RenderChangeEvent事件.

Parameters:
value - double 用于绘制柱状图的的基值.

getMinimumBarWidth

public double getMinimumBarWidth()
返回每个柱状图的最小绘制宽度(单位为Java2D标准单位).

Returns:
double 每个柱状图的最小宽度.

setMinimumBarWidth

public void setMinimumBarWidth(double barWidth)
设置每个柱状图的最小宽度(单位为Java2D标准单位),如果宽度小于此值将不绘制.并向所有监听器发送 RenderChangeEvent事件.

Parameters:
barWidth - double 每个柱状图的最大宽度(单位为Java2D标准单位).

getMaximumBarWidth

public double getMaximumBarWidth()
返回每个柱状图的最大宽度(单位为Java2D标准单位).

Returns:
double 每个柱状图的最大宽度.

setMaximumBarWidth

public void setMaximumBarWidth(double barWidth)
设置每个柱状图的最大宽度(单位为Java2D标准单位),并向所有监听器发送 RenderChangeEvent事件.

Parameters:
barWidth - double 每个柱状图的最大宽度(单位为Java2D标准单位),必须大于0.

drawCategoryMarker

public void drawCategoryMarker(CategoryAxis categoryAxis,
                               java.awt.geom.Rectangle2D dataArea,
                               ChartOrientation orientation,
                               RenderShapeCollection renderShapes)
绘制category marker.

Parameters:
categoryAxis - CategoryAxis category坐标轴 (不可为null).
dataArea - Rectangle2D 数据区域 (不可为null).
orientation - ChartOrientation 图表的方向 (不可为null).
renderShapes - RenderShapeCollection render图形集合 (不可为null).

createCategoryMarkerShape

protected static IChartShape createCategoryMarkerShape(CategoryMarker marker,
                                                       java.awt.geom.Rectangle2D rect)
创建category marker图形.

Parameters:
marker - CategoryMarker category marker 对象.
rect - Rectangle2D marker图形的区域.
Returns:
IChartShape

drawAllItems

public abstract void drawAllItems(CategoryAxis categoryAxis,
                                  AbstractValueAxis valueAxis,
                                  RectangleEdge valueAxisEdge,
                                  java.awt.geom.Rectangle2D dataArea,
                                  ChartOrientation orientation,
                                  RenderShapeCollection renderShapes,
                                  float alpha)
绘制所有的图形.

Parameters:
categoryAxis - CategoryAxis category坐标轴 (不可为null).
valueAxis - AbstractValueAxis value坐标轴 (不可为null).
valueAxisEdge - RectangleEdge value坐标轴位置 (不可为null).
dataArea - Rectangle2D 数据区域 (不可为null).
orientation - ChartOrientation 图表的方向 (不可为null).
renderShapes - RenderShapeCollection render图形集合 (不可为null).
alpha - float alpha值,须属于闭区间[0.0,1.0].

addAnnotation

public void addAnnotation(ICategoryAnnotation annotation)
增加一个注解(annotation)对象,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
annotation - ICategoryAnnotation 注解(annotation)对象 (不可为null).

removeAllAnnotation

public void removeAllAnnotation()
删除所有的注解(annotation)对象,并向所有监听器发送 RenderChangeEvent事件.


getAllAnnotations

public java.util.Collection getAllAnnotations()
返回所有的注解(annotation)对象,此集合在外面是不能被更改的.

Returns:
Collection 注解(annotation)对象集合 (不为null).

drawAllAnnotation

public void drawAllAnnotation(CategoryAxis categoryAxis,
                              AbstractValueAxis valueAxis,
                              RectangleEdge valueAxisEdge,
                              java.awt.geom.Rectangle2D dataArea,
                              ChartOrientation orientation,
                              AnnotationShapeCollection annotationShapes)
绘制所有的注解(annotation)图形.

Parameters:
categoryAxis - CategoryAxis category坐标轴 (不可为null).
valueAxis - AbstractValueAxis value坐标轴 (不可为null).
valueAxisEdge - RectangleEdge value坐标轴位置 (不可为null).
orientation - ChartOrientation 图表的方向 (不可为null).
dataArea - Rectangle2D 数据区域 (不可为null).
annotationShapes - AnnotationShapeCollection 注解(annotation)图形集合 (不可为null).

equals

public boolean equals(java.lang.Object obj)
测试两个对象是否相等.

Overrides:
equals in class AbstractWithAxisRender
Parameters:
obj - 要比较的对象
Returns:
相等返回true,否则返回false.

hashCode

public int hashCode()
计算对象的hashcode值.

Overrides:
hashCode in class AbstractWithAxisRender
Returns:
int 对象的hashcode值.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
返回克隆的对象.

Overrides:
clone in class AbstractWithAxisRender
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()
覆盖toString方法.

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