com.ijchart.xychart.render.xy
Class StockRender

java.lang.Object
  extended by com.ijchart.xychart.render.AbstractRender
      extended by com.ijchart.xychart.render.AbstractWithAxisRender
          extended by com.ijchart.xychart.render.xy.AbstractXYRender
              extended by com.ijchart.xychart.render.xy.StockRender
All Implemented Interfaces:
IDatasetChangeListener, IRender, IRenderWithAxis, java.io.Serializable, java.lang.Cloneable, java.util.EventListener

public class StockRender
extends AbstractXYRender
implements java.lang.Cloneable, java.io.Serializable

Title: IJChart

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

绘制股票图.

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_AUTO_WIDTH_FACTOR
          自动计算宽度时的因子的缺省值.
static java.awt.Paint DEFAULT_DOWN_PAINT
          当价格的open值大于close值时,填充图形使用的缺省的paint对象
static double DEFAULT_MAX_SHAPE_WIDTH_IN_PERCENT
          缺省的图形最大宽度,以坐标轴的百分比计算.
static java.awt.Paint DEFAULT_UP_PAINT
          当价格的close值大于open值时,填充图形使用的缺省的paint对象.
static java.awt.Paint DEFAULT_VOLUME_PAINT
          填充volume图形的缺省的paint对象.
 
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
StockRender(SingleRowDataset dataset)
          构造器.
StockRender(SingleRowDataset dataset, double shapeWidth)
          构造器.
StockRender(SingleRowDataset dataset, double shapeWidth, boolean drawVolume)
          构造器.
 
Method Summary
 java.lang.Object clone()
          返回克隆的对象.
protected  IChartShape createItemShapeOnly(java.awt.geom.Rectangle2D rect, java.lang.String text, java.lang.Object appendParam)
          只创建图形,不设置图形的属性.
 void drawAllItems(AbstractValueAxis xAxis, RectangleEdge xAxisEdge, AbstractValueAxis yAxis, RectangleEdge yAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes, float alpha)
          绘制所有的图形.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 double getAutoWidthFactor()
          返回自动计算宽度时的因子.
 double getAutoWidthGap()
          返回两个图形之间最小的间距.
 java.awt.Paint getDownPaint()
          返回当价格的open值大于close值时,填充图形用的paint对象
 LegendType getLegendType()
          返回图例类型.
 double getMaxShapeWidthInPercent()
          返回图形的最大宽度,以坐标轴的百分比计算.
 double getShapeWidth()
          返回图形的宽度.
 java.awt.Paint getUpPaint()
          当价格的close值大于open值时,填充图形用的paint对象.
 java.awt.Paint getVolumePaint()
          返回填充volume图形的paint对象.
 int hashCode()
          计算对象的hashcode值.
 boolean isDrawVolume()
          返回是否绘制volume图形.
 void setAutoWidthGap(double autoWidthGap)
          设置两个图形之间最小的间距,并向所有监听器发送 RenderChangeEvent事件.
 void setDownPaint(java.awt.Paint paint)
          设置当价格的open值大于close值时,填充图形用的paint对象,并向所有监听器发送 RenderChangeEvent事件.
 void setDrawVolume(boolean flag)
          设置是否绘制volume图形,并向所有监听器发送 RenderChangeEvent事件.
 void setShapeWidth(double width)
          设置图形的宽度,并向所有监听器发送RenderChangeEvent事件.
 void setUpPaint(java.awt.Paint paint)
          设置当价格的close值大于open值时,填充图形用的paint对象,并向所有监听器发送 RenderChangeEvent事件.
 void setVolumePaint(java.awt.Paint paint)
          设置填充volume图形的paint对象,并向所有监听器发送 RenderChangeEvent事件.
 java.lang.String toString()
          覆盖toString方法.
 
Methods inherited from class com.ijchart.xychart.render.xy.AbstractXYRender
addAnnotation, drawAllAnnotation, getAllAnnotations, removeAllAnnotation
 
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, 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, 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_VOLUME_PAINT

public static final transient java.awt.Paint DEFAULT_VOLUME_PAINT
填充volume图形的缺省的paint对象.


DEFAULT_UP_PAINT

public static final transient java.awt.Paint DEFAULT_UP_PAINT
当价格的close值大于open值时,填充图形使用的缺省的paint对象.


DEFAULT_DOWN_PAINT

public static final transient java.awt.Paint DEFAULT_DOWN_PAINT
当价格的open值大于close值时,填充图形使用的缺省的paint对象


DEFAULT_AUTO_WIDTH_FACTOR

public static final double DEFAULT_AUTO_WIDTH_FACTOR
自动计算宽度时的因子的缺省值.

See Also:
Constant Field Values

DEFAULT_MAX_SHAPE_WIDTH_IN_PERCENT

public static final double DEFAULT_MAX_SHAPE_WIDTH_IN_PERCENT
缺省的图形最大宽度,以坐标轴的百分比计算.

See Also:
Constant Field Values
Constructor Detail

StockRender

public StockRender(SingleRowDataset dataset)
构造器.

Parameters:
dataset - SingleRowDataset 数据集 (不可为null).

StockRender

public StockRender(SingleRowDataset dataset,
                   double shapeWidth)
构造器.

Parameters:
dataset - SingleRowDataset 数据集 (不可为null).
shapeWidth - double 图形宽度.

StockRender

public StockRender(SingleRowDataset dataset,
                   double shapeWidth,
                   boolean drawVolume)
构造器.

Parameters:
dataset - SingleRowDataset 数据集 (不可为null).
shapeWidth - double 图形宽度.
drawVolume - double 是否绘制volume图形.
Method Detail

getShapeWidth

public double getShapeWidth()
返回图形的宽度.

Returns:
double 图形的宽度.

setShapeWidth

public void setShapeWidth(double width)
设置图形的宽度,并向所有监听器发送RenderChangeEvent事件.

Parameters:
width - double 图形的宽度.

getAutoWidthFactor

public double getAutoWidthFactor()
返回自动计算宽度时的因子.

Returns:
double 宽度因子.

setAutoWidthFactor

public void setAutoWidthFactor(double factor)
设置自动计算宽度时的因子.

Parameters:
factor - double 宽度因子,属于闭区间[0.0,1.0].

getAutoWidthGap

public double getAutoWidthGap()
返回两个图形之间最小的间距.

Returns:
double 间距.

setAutoWidthGap

public void setAutoWidthGap(double autoWidthGap)
设置两个图形之间最小的间距,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
autoWidthGap - double 间距.

getUpPaint

public java.awt.Paint getUpPaint()
当价格的close值大于open值时,填充图形用的paint对象.

Returns:
Paint Paint对象 (可能为null).

setUpPaint

public void setUpPaint(java.awt.Paint paint)
设置当价格的close值大于open值时,填充图形用的paint对象,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
paint - Paint Paint对象 (可为null).

getDownPaint

public java.awt.Paint getDownPaint()
返回当价格的open值大于close值时,填充图形用的paint对象

Returns:
Paint Paint对象 (可能为null).

setDownPaint

public void setDownPaint(java.awt.Paint paint)
设置当价格的open值大于close值时,填充图形用的paint对象,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
paint - Paint Paint对象 (可为null).

isDrawVolume

public boolean isDrawVolume()
返回是否绘制volume图形.

Returns:
boolean 布尔值.

setDrawVolume

public void setDrawVolume(boolean flag)
设置是否绘制volume图形,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
flag - boolean 布尔值.

getVolumePaint

public java.awt.Paint getVolumePaint()
返回填充volume图形的paint对象.

Returns:
Paint对象 (可能为null).

setVolumePaint

public void setVolumePaint(java.awt.Paint paint)
设置填充volume图形的paint对象,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
paint - Paint Paint对象 (不可为null).

getMaxShapeWidthInPercent

public double getMaxShapeWidthInPercent()
返回图形的最大宽度,以坐标轴的百分比计算.

Returns:
double 百分比.

setMaxShapeWidthInPercent

public void setMaxShapeWidthInPercent(double percent)
设置图形的最大宽度,以坐标轴的百分比计算,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
percent - double 百分比.

drawAllItems

public void drawAllItems(AbstractValueAxis xAxis,
                         RectangleEdge xAxisEdge,
                         AbstractValueAxis yAxis,
                         RectangleEdge yAxisEdge,
                         java.awt.geom.Rectangle2D dataArea,
                         ChartOrientation orientation,
                         RenderShapeCollection renderShapes,
                         float alpha)
绘制所有的图形.

Specified by:
drawAllItems in class AbstractXYRender
Parameters:
xAxis - AbstractValueAxis x数值坐标轴 (不可为null).
xAxisEdge - RectangleEdge x坐标轴位置(不可为null).
yAxis - AbstractValueAxis y数值坐标轴 (不可为null).
yAxisEdge - RectangleEdge y坐标轴位置 (不可为null).
dataArea - Rectangle2D 数据区域 (不可为null).
orientation - ChartOrientation 图表的方向 (不可为null).
renderShapes - RenderShapeCollection render图形集合 (不可为null).
alpha - float alpha值,须属于闭区间[0.0,1.0].

getLegendType

public LegendType getLegendType()
返回图例类型.

Specified by:
getLegendType in interface IRender
Overrides:
getLegendType in class AbstractRender
Returns:
LegendType 图例类型.

createItemShapeOnly

protected IChartShape createItemShapeOnly(java.awt.geom.Rectangle2D rect,
                                          java.lang.String text,
                                          java.lang.Object appendParam)
只创建图形,不设置图形的属性.

Overrides:
createItemShapeOnly in class AbstractRender
Parameters:
rect - Rectangle2D 柱形图的矩形 (不可为null).
text - String 要显示的文字 (可为null).
appendParam - Object 附加的参数,用于传递额外的对象 (可为null).
Returns:
IChartShape 图形.

equals

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

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

hashCode

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

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

clone

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

Overrides:
clone in class AbstractXYRender
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 AbstractXYRender
Returns:
a string representation of the object.