com.ijchart.xychart.axis.value
Class AbstractValueAxis

java.lang.Object
  extended by com.ijchart.xychart.axis.AbstractAxis
      extended by com.ijchart.xychart.axis.value.AbstractValueAxis
All Implemented Interfaces:
IAxis, IMarkerChangeListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
NumberValueAxis

public abstract class AbstractValueAxis
extends AbstractAxis
implements IMarkerChangeListener, 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 boolean DEFAULT_AXIS_TICK_INCLUDE_ZERO
          axisRangeIncludeZero的缺省值.
static java.awt.Paint DEFAULT_CROSSHAIR_PAINT
          缺省十字线paint.
static java.awt.Stroke DEFAULT_CROSSHAIR_STROKE
          缺省值线stroke.
static java.awt.Paint DEFAULT_GRID_BAND_ALTERNATE_PAINT
          缺省的绘制网格交替区域的Paint.
static java.awt.Paint DEFAULT_GRID_BAND_PAINT
          缺省的绘制网格区域的Paint.
static boolean DEFAULT_GRID_BAND_VISIBLE
          缺省控制网格区域是否显示的标志.
static boolean DEFAULT_INVERTED
          是否反转坐标轴的缺省值.
static java.awt.Paint DEFAULT_VALUE_PAINT
          缺省值线paint.
static double INVALID_COORDINATE_VALUE
          如果某个值不在坐标轴刻度值之间,此值在坐标轴上没有对应的点.
 
Fields inherited from class com.ijchart.xychart.axis.AbstractAxis
DEFAULT_3D_AXIS_FILL_PAINT, DEFAULT_AUTO_SELECT_TICK_LABEL_ALIGN, DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_AXIS_LABEL_TYPE, DEFAULT_AXIS_LABEL_VISIBLE, DEFAULT_AXIS_LINE_PAINT, DEFAULT_AXIS_LINE_STROKE, DEFAULT_AXIS_LINE_VISIBLE, DEFAULT_AXIS_MARGIN, DEFAULT_AXIS_VISIBLE, DEFAULT_DRAW_EMPTY_LABEL_TICK_MARK, DEFAULT_FIXED_AXIS_SPACE, DEFAULT_GRID_LINE_VISIBLE, DEFAULT_LABEL_HORIZONTAL_ALIGNMENT, DEFAULT_MAXIMUM_CATEGORY_LABEL_WIDTH_RATIO, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_HORIZONTAL_ALIGNMENT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_LABEL_VERTICAL_ALIGNMENT, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE, DEFAULT_TICK_MARKS_VISIBLE, WIDTH_TICK_MARK_AND_TICK_LABEL
 
Constructor Summary
protected AbstractValueAxis(IMatrixDataset dataset)
          由数据集构造对象.
protected AbstractValueAxis(java.lang.String label, IMatrixDataset dataset)
          由坐标轴标签和数据集构造对象.
 
Method Summary
 void addIntervalValueMarker(Layer layer, IntervalValueMarker marker)
          增加一个interval value marker,并且向所有监听器发送 AxisChangeEvent事件.
 void addValueMarker(Layer layer, ValueMarker marker)
          增加一个value marker,并且向所有监听器发送AxisChangeEvent 事件.
 void clearIntervalValueMarkers(Layer layer)
          删除所有的interval value marker,并向所有监听器发送 AxisChangeEvent事件.
 void clearValueMarkers(Layer layer)
          删除所有的value marker,并向所有监听器发送AxisChangeEvent 事件.
 java.lang.Object clone()
          Returns a clone of the object.
abstract  void drawValueLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, RectangleEdge edge, RenderShapeCollection shapeCollection)
          绘制值线,须在IAxis.draw()方法之后调用.
 boolean equals(java.lang.Object obj)
          测试本对象是否和另一个对象相等.
abstract  NumberRange getDatasetRange()
          得到数据集的数据范围.
 NumberRange getEmptyDatasetRange()
          返回数据集为空时的数据范围.
 java.awt.Paint getGridBandAlternatePaint()
          返回绘制网格交替区域的Paint.
 java.awt.Paint getGridBandPaint()
          返回绘制网格区域的Paint.
 java.util.Collection getIntervalValueMarkers(Layer layer)
          根据Layer对象返回所有的interval value marker.
 IRenderWithAxis getRender()
          返回IRender对象.
 IFormatter getTickValueFormatter()
          返回用于格式化坐标轴标签值的格式化类.
 java.awt.Paint getValueLinePaint()
          返回绘制值线的paint.
 java.awt.Stroke getValueLineStroke()
          返回绘制值线的stroke.
 double getValueLineValue()
          返回value坐标轴对应的值线的值.
 java.util.Collection getValueMarkers(Layer layer)
          根据Layer对象返回所有的value marker.
 int hashCode()
          覆盖hashCode方法.
 boolean isAxisRangeIncludeZero()
          返回计算坐标轴的刻度时是否包含0.
 boolean isGridBandVisible()
          返回控制网格区域是否显示的标志.
 boolean isInverted()
          返回是否反转坐标值.
 void markerChanged(MarkerChangeEvent event)
          收到marker发生变化的事件.
 boolean removeValueMarker(Layer layer, IntervalValueMarker marker)
          根据指定的Layer对象删除interval marker对象.
 boolean removeValueMarker(Layer layer, ValueMarker marker)
          根据指定的Layer对象删除marker对象.
 void setAxisRangeIncludeZero(boolean flag)
          设置计算坐标轴的刻度时是否包含0,并向所有监听器发送 AxisChangeEvent事件.
 void setEmptyDatasetRange(NumberRange range)
          设置数据集为空时的数据范围,并向所有监听器发送AxisChangeEvent 事件.
 void setGridBandAlternatePaint(java.awt.Paint paint)
          设置绘制网格交替区域的Paint,并向所有监听器 发送AxisChangeEvent事件.
 void setGridBandPaint(java.awt.Paint paint)
          设置绘制网格区域的Paint,并向所有监听器 发送AxisChangeEvent事件.
 void setGridBandVisible(boolean visible)
          设置控制网格区域是否显示的标志,并向所有监听器 发送AxisChangeEvent事件.
 void setInverted(boolean flag)
          设置是否反转坐标值,并向所有监听器发送AxisChangeEvent事件.
 void setRender(IRenderWithAxis render)
          IRender对象.
 void setTickValueFormatter(IFormatter tickValueFormatter)
          设置用于格式化坐标轴标签值的格式化类,并向所有监听器发送 AxisChangeEvent事件.
 void setValueLinePaint(java.awt.Paint paint)
          设置绘制值线的paint,并向所有监听器发送AxisChangeEvent 事件.
 void setValueLineStroke(java.awt.Stroke stroke)
          设置绘制值线的stroke,并向所有监听器发送AxisChangeEvent 事件.
 void setValueLineValue(double value)
          设置value坐标轴方向值线的值,并向所有监听器发送AxisChangeEvent 事件.
 void setValueLineVisible(boolean flag)
          设置是否绘制value值线,并向所有监听器发送 AxisChangeEvent事件.
 java.lang.String toString()
          覆盖toString方法.
abstract  double valueToJava2D(java.awt.geom.Rectangle2D dataArea, RectangleEdge edge, double value, boolean forceInDataArea)
          计算某个值对应的数据区的坐标位置,须在IAxis.draw()方法之后调用.
abstract  double valueToJava2D(java.awt.geom.Rectangle2D dataArea, RectangleEdge edge, double value, boolean forceInDataArea, boolean expandAxisRange)
          计算某个值对应的数据区的坐标位置,须在IAxis.draw()方法之后调用.
 
Methods inherited from class com.ijchart.xychart.axis.AbstractAxis
addChangeListener, calculateAxisSpace, calculateLabelBound, createAxisLabelChartShape, dawAxisLabel, draw, drawAxis3DLine, drawAxisLine, drawGridLine, drawTickLabel, drawTickMark, fireAxisChanged, getAxis3DFillPaint, getAxisLabel, getAxisLabelAngle, getAxisLabelFont, getAxisLabelHorizontalAlign, getAxisLabelInsets, getAxisLabelPaint, getAxisLabelType, getAxisLinePaint, getAxisLineStroke, getColKeyFormatter, getDataFormatter, getDataset, getFixedAxisSpace, getFormatedTickLabels, getLowerMargin, getMaximumCategoryLabelWidthRatio, getRowKeyFormatter, getTickLabelAngle, getTickLabelFont, getTickLabelFont, getTickLabelHorizontalAlign, getTickLabelInsets, getTickLabelLines, getTickLabelPaint, getTickLabelPaint, getTickLabelRotateBound, getTickLabelVerticalAlign, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, getUpperMargin, hasListener, isAutoSelectTickLabelAlign, isAxisLabelVisible, isAxisLineVisible, isDrawEmptyLabelTickMark, isGridLineVisible, isTickLabelsVisible, isTickMarkVisible, isVisible, notifyListeners, removeAllChangeListener, removeChangeListener, setAutoSelectTickLabelAlign, setAxis3DFillPaint, setAxisLabel, setAxisLabelAngle, setAxisLabelFont, setAxisLabelHorizontalAlign, setAxisLabelInsets, setAxisLabelPaint, setAxisLabelType, setAxisLabelVisible, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setColKeyFormatter, setDataFormatter, setDataset, setDrawEmptyLabelTickMark, setFixedAxisSpace, setGridLineVisible, setLowerMargin, setMaximumCategoryLabelWidthRatio, setRowKeyFormatter, setTickLabelAngle, setTickLabelFont, setTickLabelFont, setTickLabelHorizontalAlign, setTickLabelInsets, setTickLabelPaint, setTickLabelPaint, setTickLabelsVisible, setTickLabelVerticalAlign, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarkVisible, setUpperMargin, setVisible
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_AXIS_TICK_INCLUDE_ZERO

public static final boolean DEFAULT_AXIS_TICK_INCLUDE_ZERO
axisRangeIncludeZero的缺省值.

See Also:
Constant Field Values

DEFAULT_INVERTED

public static final boolean DEFAULT_INVERTED
是否反转坐标轴的缺省值.

See Also:
Constant Field Values

DEFAULT_VALUE_LINE_VISIBLE

public static final boolean DEFAULT_VALUE_LINE_VISIBLE
缺省值线是否显示

See Also:
Constant Field Values

DEFAULT_CROSSHAIR_STROKE

public static final java.awt.Stroke DEFAULT_CROSSHAIR_STROKE
缺省值线stroke.


DEFAULT_CROSSHAIR_PAINT

public static final java.awt.Paint DEFAULT_CROSSHAIR_PAINT
缺省十字线paint.


DEFAULT_VALUE_PAINT

public static final java.awt.Paint DEFAULT_VALUE_PAINT
缺省值线paint.


INVALID_COORDINATE_VALUE

public static final double INVALID_COORDINATE_VALUE
如果某个值不在坐标轴刻度值之间,此值在坐标轴上没有对应的点.

See Also:
Constant Field Values

DEFAULT_GRID_BAND_PAINT

public static final java.awt.Paint DEFAULT_GRID_BAND_PAINT
缺省的绘制网格区域的Paint.


DEFAULT_GRID_BAND_ALTERNATE_PAINT

public static final java.awt.Paint DEFAULT_GRID_BAND_ALTERNATE_PAINT
缺省的绘制网格交替区域的Paint.


DEFAULT_GRID_BAND_VISIBLE

public static final boolean DEFAULT_GRID_BAND_VISIBLE
缺省控制网格区域是否显示的标志.

See Also:
Constant Field Values
Constructor Detail

AbstractValueAxis

protected AbstractValueAxis(IMatrixDataset dataset)
由数据集构造对象.

Parameters:
dataset - IMatrixDataset 二维矩阵数据集 (不可为null).

AbstractValueAxis

protected AbstractValueAxis(java.lang.String label,
                            IMatrixDataset dataset)
由坐标轴标签和数据集构造对象.

Parameters:
label - 坐标轴标签.
dataset - IMatrixDataset 二维矩阵数据集 (不可为null).
Method Detail

isAxisRangeIncludeZero

public boolean isAxisRangeIncludeZero()
返回计算坐标轴的刻度时是否包含0.

Returns:
boolean 布尔值.

setAxisRangeIncludeZero

public void setAxisRangeIncludeZero(boolean flag)
设置计算坐标轴的刻度时是否包含0,并向所有监听器发送 AxisChangeEvent事件.

Parameters:
flag - boolean 布尔值.

isInverted

public boolean isInverted()
返回是否反转坐标值.

Returns:
布尔值.

setInverted

public void setInverted(boolean flag)
设置是否反转坐标值,并向所有监听器发送AxisChangeEvent事件.

Parameters:
flag - boolean 布尔值.

getEmptyDatasetRange

public NumberRange getEmptyDatasetRange()
返回数据集为空时的数据范围.

Returns:
NumberRange 坐标轴范围.

setEmptyDatasetRange

public void setEmptyDatasetRange(NumberRange range)
设置数据集为空时的数据范围,并向所有监听器发送AxisChangeEvent 事件.

Parameters:
range - NumberRange (不可为null).

getTickValueFormatter

public IFormatter getTickValueFormatter()
返回用于格式化坐标轴标签值的格式化类.

Returns:
IFormatter

setTickValueFormatter

public void setTickValueFormatter(IFormatter tickValueFormatter)
设置用于格式化坐标轴标签值的格式化类,并向所有监听器发送 AxisChangeEvent事件.

Parameters:
tickValueFormatter - IFormatter 格式化坐标轴标签值的格式化类.

isValueLineVisible

public boolean isValueLineVisible()
返回是否绘制value值线.

Returns:
boolean boolean值.

setValueLineVisible

public void setValueLineVisible(boolean flag)
设置是否绘制value值线,并向所有监听器发送 AxisChangeEvent事件.

Parameters:
flag - boolean boolean值.

getValueLineValue

public double getValueLineValue()
返回value坐标轴对应的值线的值.

Returns:
boolean boolean值.

setValueLineValue

public void setValueLineValue(double value)
设置value坐标轴方向值线的值,并向所有监听器发送AxisChangeEvent 事件.

Parameters:
value - double 值.

getValueLineStroke

public java.awt.Stroke getValueLineStroke()
返回绘制值线的stroke.

Returns:
Stroke stroke对象.

setValueLineStroke

public void setValueLineStroke(java.awt.Stroke stroke)
设置绘制值线的stroke,并向所有监听器发送AxisChangeEvent 事件.

Parameters:
stroke - Stroke 绘制值线的stroke (不可为null).

getValueLinePaint

public java.awt.Paint getValueLinePaint()
返回绘制值线的paint.

Returns:
Paint paint对象.

setValueLinePaint

public void setValueLinePaint(java.awt.Paint paint)
设置绘制值线的paint,并向所有监听器发送AxisChangeEvent 事件.

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

isGridBandVisible

public boolean isGridBandVisible()
返回控制网格区域是否显示的标志.

Returns:
boolean 布尔值.

setGridBandVisible

public void setGridBandVisible(boolean visible)
设置控制网格区域是否显示的标志,并向所有监听器 发送AxisChangeEvent事件.

Parameters:
visible - boolean 布尔值.

getGridBandPaint

public java.awt.Paint getGridBandPaint()
返回绘制网格区域的Paint.

Returns:
Paint Paint对象 (不为null).

setGridBandPaint

public void setGridBandPaint(java.awt.Paint paint)
设置绘制网格区域的Paint,并向所有监听器 发送AxisChangeEvent事件.

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

getGridBandAlternatePaint

public java.awt.Paint getGridBandAlternatePaint()
返回绘制网格交替区域的Paint.

Returns:
Paint Paint对象 (不为null).

setGridBandAlternatePaint

public void setGridBandAlternatePaint(java.awt.Paint paint)
设置绘制网格交替区域的Paint,并向所有监听器 发送AxisChangeEvent事件.

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

getRender

public IRenderWithAxis getRender()
返回IRender对象.

Returns:
IRenderWithAxis IRender对象 (可为null).

setRender

public void setRender(IRenderWithAxis render)
IRender对象.

Parameters:
render - IRenderWithAxis IRender对象 (可为null).

drawValueLine

public abstract void drawValueLine(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D dataArea,
                                   RectangleEdge edge,
                                   RenderShapeCollection shapeCollection)
绘制值线,须在IAxis.draw()方法之后调用.

Parameters:
g2 - Graphics2D 图形设备(打印机或屏幕) (不可为null).
dataArea - Rectangle2D 图表的data域(数据区) (不可为null).
edge - RectangleEdge 坐标轴的位置 (不可为null).
shapeCollection - RenderShapeCollection render图形集合 (不可为null).

valueToJava2D

public abstract double valueToJava2D(java.awt.geom.Rectangle2D dataArea,
                                     RectangleEdge edge,
                                     double value,
                                     boolean forceInDataArea)
计算某个值对应的数据区的坐标位置,须在IAxis.draw()方法之后调用.

Parameters:
dataArea - Rectangle2D 图表的data域(数据区) (不可为null).
edge - RectangleEdge 坐标轴的位置 (不可为null).
value - double 数据值.
forceInDataArea - boolean 是否强制在dataArea区域之内.
Returns:
double 坐标位置.

valueToJava2D

public abstract double valueToJava2D(java.awt.geom.Rectangle2D dataArea,
                                     RectangleEdge edge,
                                     double value,
                                     boolean forceInDataArea,
                                     boolean expandAxisRange)
计算某个值对应的数据区的坐标位置,须在IAxis.draw()方法之后调用.

Parameters:
dataArea - Rectangle2D 图表的data域(数据区) (不可为null).
edge - RectangleEdge 坐标轴的位置 (不可为null).
value - double 数据值.
forceInDataArea - boolean 是否强制在dataArea区域之内.
expandAxisRange - boolean 是否扩展坐标轴的范围.
Returns:
double 坐标位置.

getDatasetRange

public abstract NumberRange getDatasetRange()
得到数据集的数据范围.

Returns:
NumberRange 数据范围 (不为null).

addValueMarker

public void addValueMarker(Layer layer,
                           ValueMarker marker)
增加一个value marker,并且向所有监听器发送AxisChangeEvent 事件.

Parameters:
layer - Layer 绘制的顺序(前景或背景) (不可为null).
marker - ValueMarker ValueMarker对象 (不可为null).

getValueMarkers

public java.util.Collection getValueMarkers(Layer layer)
根据Layer对象返回所有的value marker.

Parameters:
layer - Layer对象 (不可为null).
Returns:
Collection value marker对象集合 (可能为null).

removeValueMarker

public boolean removeValueMarker(Layer layer,
                                 ValueMarker marker)
根据指定的Layer对象删除marker对象.

Parameters:
layer - Layer layer对象 (不可为null).
marker - ValueMarker ValueMarker对象 (不可为null).
Returns:
是否真的删除了此对象.

clearValueMarkers

public void clearValueMarkers(Layer layer)
删除所有的value marker,并向所有监听器发送AxisChangeEvent 事件.

Parameters:
layer - Layer 绘制的顺序(前景或背景) (不可为null).

addIntervalValueMarker

public void addIntervalValueMarker(Layer layer,
                                   IntervalValueMarker marker)
增加一个interval value marker,并且向所有监听器发送 AxisChangeEvent事件.

Parameters:
layer - Layer 绘制的顺序(前景或背景) (不可为null).
marker - IntervalValueMarker IntervalValueMarker对象 (不可为null).

getIntervalValueMarkers

public java.util.Collection getIntervalValueMarkers(Layer layer)
根据Layer对象返回所有的interval value marker.

Parameters:
layer - Layer对象 (不可为null).
Returns:
Collection value marker对象集合 (可能为null).

removeValueMarker

public boolean removeValueMarker(Layer layer,
                                 IntervalValueMarker marker)
根据指定的Layer对象删除interval marker对象.

Parameters:
layer - Layer layer对象 (不可为null).
marker - IntervalValueMarker IntervalValueMarker (不可为null).
Returns:
是否真的删除了此对象.

clearIntervalValueMarkers

public void clearIntervalValueMarkers(Layer layer)
删除所有的interval value marker,并向所有监听器发送 AxisChangeEvent事件.

Parameters:
layer - Layer 绘制的顺序(前景或背景) (不可为null).

markerChanged

public void markerChanged(MarkerChangeEvent event)
收到marker发生变化的事件.

Specified by:
markerChanged in interface IMarkerChangeListener
Parameters:
event - marker变化的事件.

equals

public boolean equals(java.lang.Object obj)
测试本对象是否和另一个对象相等.

Overrides:
equals in class AbstractAxis
Parameters:
obj - the object (null permitted).
Returns:
true or false.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the object.

Overrides:
clone in class AbstractAxis
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if some component of the axis does not support cloning.

hashCode

public int hashCode()
覆盖hashCode方法.

Overrides:
hashCode in class AbstractAxis
Returns:
hashcode值.

toString

public java.lang.String toString()
覆盖toString方法.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of the object.