com.ijchart.xychart.chartinfo
Class AbstractShapeCollection

java.lang.Object
  extended by com.ijchart.xychart.chartinfo.AbstractShapeCollection
All Implemented Interfaces:
IShapeCollection, IChartShapeChangeListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
AnnotationShapeCollection, AxisShapeCollection, ChartShapeCollection, LegendShapeCollection, PlotShapeCollection, RenderShapeCollection, TitleShapeCollection

public abstract class AbstractShapeCollection
extends java.lang.Object
implements IChartShapeChangeListener, IShapeCollection, 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
protected  int shapeIdSequence
          图形的序列号,第一个为0.
 
Constructor Summary
AbstractShapeCollection()
          构造器.
 
Method Summary
 void addChangeListener(IChartShapeChangeListener listener)
          注册监听图形IChartShape对象变化的监听者对象.
protected  void addHotspotArea(java.util.List result, IChartShape shape, IAreaFragment fragment, ChartShapeDrawType drawType)
          计算图形的热点area.
protected  void addHotspotArea(java.util.List result, java.util.List shapes, IAreaFragment fragment, ChartShapeDrawType drawType)
          计算图形的热点area.
 void chartShapeChanged(ChartShapeChangeEvent event)
          接收到图形对象变化的通知.
protected  void clearSelectedShape(IChartShape shape)
          清除图形的选中状态.
protected  void clearSelectedShape(java.util.List shapes)
          清除所有的图形的选中状态.
protected  void clearShapesListener(java.util.List shapes)
          清除所有的图形的监听器.
protected  void clip(java.awt.Graphics2D g2)
          设置剪切区域.
 java.lang.Object clone()
          覆盖clone方法.
protected  void draw(java.awt.Graphics2D g2, java.util.List shapes)
          依次绘制集合中每一个图形.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
protected  IChartShape findShape(java.util.List shapes, java.awt.geom.Point2D point, ChartShapeDrawType drawType)
          在图形集合shapes里寻找包含point的图形.
protected  void fireChartShapeChanged(IChartShape shape)
          通过所有监听器图形发生了变化.
 java.awt.geom.Rectangle2D getDrawArea()
          返回图形集合所共同的区域.
 java.util.List getHotspotAreas(java.util.List drawTypes, IAreaFragment fragment)
          返回图形的热点Area.
 int hashCode()
          覆盖hashCode方法.
 boolean hasListener(IChartShapeChangeListener listener)
          返回指定的listener是否存在,本方法主要用于单元测试.
protected  void notifyListeners(ChartShapeChangeEvent event)
          通知所有注册的监听器图形发生了变化.
 void removeAllChangeListener()
          清除所有的图形IChartShape对象变化监听者对象.
 void removeChangeListener(IChartShapeChangeListener listener)
          删除注册的图形IChartShape对象变化监听者对象.
protected  void removeShapesListener(java.util.List shapes, IChartShapeChangeListener listener)
          清除所有的图形的监听器.
 void resetShapeIdSequence()
          重置图形序列号为0.
protected  void restoreClip(java.awt.Graphics2D g2)
          恢复clip区域.
 void setDrawArea(java.awt.geom.Rectangle2D drawArea)
          对于一个系列的图形,它们共同属于某个区域,通过记录这个区域,可以在处理鼠标事件的时候提供更快的速度,不需要 对所有的图形判断是否属于被鼠标选中,可选通过此区域来缩小寻找的范围.
 java.lang.String toString()
          覆盖toString方法.
 void translate(double x, double y)
          移动所有图形(axisLine3DShape除外)的原点到点(x,y).

Constructor Detail

AbstractShapeCollection

public AbstractShapeCollection()
构造器.

Method Detail

setDrawArea

public void setDrawArea(java.awt.geom.Rectangle2D drawArea)
对于一个系列的图形,它们共同属于某个区域,通过记录这个区域,可以在处理鼠标事件的时候提供更快的速度,不需要 对所有的图形判断是否属于被鼠标选中,可选通过此区域来缩小寻找的范围.

Specified by:
setDrawArea in interface IShapeCollection
Parameters:
drawArea - Rectangle2D 图形集合所在的区域 (不可为null).

getDrawArea

public java.awt.geom.Rectangle2D getDrawArea()
返回图形集合所共同的区域.

Specified by:
getDrawArea in interface IShapeCollection
Returns:
Rectangle2D 图形集合所共同的区域 (不能为null).

resetShapeIdSequence

public void resetShapeIdSequence()
重置图形序列号为0.

Specified by:
resetShapeIdSequence in interface IShapeCollection

isDrawAreaContains

public boolean isDrawAreaContains(java.awt.geom.Point2D point)
图形集合共同的区域是否包含点point.

Specified by:
isDrawAreaContains in interface IShapeCollection
Parameters:
point - Point2D 要测试是否包含的点对象 (不可为null).
Returns:
boolean 如果包含则返回true,否则返回false.

addChangeListener

public void addChangeListener(IChartShapeChangeListener listener)
注册监听图形IChartShape对象变化的监听者对象.

Parameters:
listener - 注册的监听器对象.

removeChangeListener

public void removeChangeListener(IChartShapeChangeListener listener)
删除注册的图形IChartShape对象变化监听者对象.

Parameters:
listener - 要删除的监听者对象.

removeAllChangeListener

public void removeAllChangeListener()
清除所有的图形IChartShape对象变化监听者对象.


hasListener

public boolean hasListener(IChartShapeChangeListener listener)
返回指定的listener是否存在,本方法主要用于单元测试.

Parameters:
listener - 要测试的监听器.
Returns:
A boolean.

notifyListeners

protected void notifyListeners(ChartShapeChangeEvent event)
通知所有注册的监听器图形发生了变化.

Parameters:
event - 触发监听器的事件.

fireChartShapeChanged

protected void fireChartShapeChanged(IChartShape shape)
通过所有监听器图形发生了变化.

Parameters:
shape - IChartShape 图形对象.

chartShapeChanged

public void chartShapeChanged(ChartShapeChangeEvent event)
接收到图形对象变化的通知.

Specified by:
chartShapeChanged in interface IChartShapeChangeListener
Parameters:
event - ChartShapeChangeEvent 描述图形对象变化的对象

translate

public void translate(double x,
                      double y)
移动所有图形(axisLine3DShape除外)的原点到点(x,y).

Specified by:
translate in interface IShapeCollection
Parameters:
x - double x坐标.
y - double y坐标.

getHotspotAreas

public java.util.List getHotspotAreas(java.util.List drawTypes,
                                      IAreaFragment fragment)
返回图形的热点Area.

Specified by:
getHotspotAreas in interface IShapeCollection
Parameters:
drawTypes - List 显示热点的图形类型 (不可为null).
fragment - IAreaFragment 实现接口IAreaFragment的对象,(可为null)
Returns:
List 图形的热点Area (不为null).

clip

protected void clip(java.awt.Graphics2D g2)
设置剪切区域.

Parameters:
g2 - Graphics2D 图形设备(打印机或屏幕) (不可为null).

restoreClip

protected void restoreClip(java.awt.Graphics2D g2)
恢复clip区域.

Parameters:
g2 - Graphics2D 图形设备(打印机或屏幕) (不可为null).

findShape

protected IChartShape findShape(java.util.List shapes,
                                java.awt.geom.Point2D point,
                                ChartShapeDrawType drawType)
在图形集合shapes里寻找包含point的图形.

Parameters:
shapes - List 图形集合 (可为null).
point - Point2D 点 (不可为null).
drawType - ChartShapeDrawType 图形的绘制类型 (可为null).
Returns:
IChartShape

draw

protected void draw(java.awt.Graphics2D g2,
                    java.util.List shapes)
依次绘制集合中每一个图形.

Parameters:
g2 - Graphics2D 图形设备(打印机或屏幕) (不可为null).
shapes - List 图形集合 (可为null).

translate

protected void translate(double x,
                         double y,
                         java.util.List shapes)
移动所有图形(axisLine3DShape除外)的原点到点(x,y).

Parameters:
x - double x坐标.
y - double y坐标.
shapes - List 图形集合 (可为null).

clearShapesListener

protected void clearShapesListener(java.util.List shapes)
清除所有的图形的监听器.

Parameters:
shapes - List 图形集合 (可为null).

clearSelectedShape

protected void clearSelectedShape(IChartShape shape)
清除图形的选中状态.

Parameters:
shape - IChartShape IChartShape对象 (可为null).

clearSelectedShape

protected void clearSelectedShape(java.util.List shapes)
清除所有的图形的选中状态.

Parameters:
shapes - List 图形集合 (可为null).

removeShapesListener

protected void removeShapesListener(java.util.List shapes,
                                    IChartShapeChangeListener listener)
清除所有的图形的监听器.

Parameters:
shapes - List 图形集合 (可为null).
listener - IChartShapeChangeListener listener对象 (可为null).

addHotspotArea

protected void addHotspotArea(java.util.List result,
                              IChartShape shape,
                              IAreaFragment fragment,
                              ChartShapeDrawType drawType)
计算图形的热点area.

Parameters:
result - 返回的结果 (不可为null).
shape - List 图形 (可为null).
fragment - IAreaFragment 实现接口IAreaFragment的对象,(可为null)
drawType - ChartShapeDrawType 图形类型 (可为null).

addHotspotArea

protected void addHotspotArea(java.util.List result,
                              java.util.List shapes,
                              IAreaFragment fragment,
                              ChartShapeDrawType drawType)
计算图形的热点area.

Parameters:
result - 返回的结果 (不可为null).
shapes - List 图形集合 (可为null).
fragment - IAreaFragment 实现接口IAreaFragment的对象,(可为null)
drawType - ChartShapeDrawType 图形类型 (可为null).

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
覆盖clone方法.

Overrides:
clone in class java.lang.Object
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 java.lang.Object
Returns:
hashcode值.

equals

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

Overrides:
equals in class java.lang.Object
Parameters:
obj - 要比较的对象
Returns:
true or false.

toString

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

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