com.ijchart.xychart.shape
Class MinMaxChartShape

java.lang.Object
  extended by com.ijchart.xychart.shape.AbstractChartShape
      extended by com.ijchart.xychart.shape.MinMaxChartShape
All Implemented Interfaces:
IChartShapeChangeListener, IChartShape, java.io.Serializable, java.lang.Cloneable, java.util.EventListener

public class MinMaxChartShape
extends AbstractChartShape
implements java.io.Serializable, java.lang.Cloneable

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_DRAW_GROUP_LINE
          缺省是否绘制连接线.
static java.awt.Paint DEFAULT_GROUP_LINE_PAINT
          缺省的绘制连接线的paint对象.
static java.awt.Stroke DEFAULT_GROUP_LINE_STROKE
          缺省的绘制连接线的stroke对象.
static java.awt.Shape DEFAULT_MAX_SHAPE
          缺省的大值对应的图形.
static java.awt.Paint DEFAULT_MAX_SHAPE_PAINT
          缺省的绘制大值图形的paint对象.
static java.awt.Stroke DEFAULT_MAX_SHAPE_STROKE
          缺省的绘制大值图形的stroke对象.
static java.awt.Shape DEFAULT_MIN_SHAPE
          缺省的小值对应的图形.
static java.awt.Paint DEFAULT_MIN_SHAPE_PAINT
          缺省的绘制小值图形的paint对象.
static java.awt.Stroke DEFAULT_MIN_SHAPE_STROKE
          缺省的绘制小值图形的stroke对象.
 
Fields inherited from class com.ijchart.xychart.shape.AbstractChartShape
DEFAULT_DRAW_TYPE, DEFAULT_SHAPE_ID, DEFAULT_VISIBLE, transformedShape
 
Fields inherited from interface com.ijchart.xychart.shape.IChartShape
DEFAULT_BORDER_PAINT, DEFAULT_BORDER_STROKE, DEFAULT_CONTENT_PAINT, DEFAULT_DRAW_BORDER, DEFAULT_FILL_ALPHA, DEFAULT_FILL_PAINT, DEFAULT_FILL_SHAPE, DEFAULT_GRADIENT_PAINT_TRANSFORM_TYPE, DEFAULT_MARGIN, DEFAULT_SELECT_FILL_PAINT, DEFAULT_SELECT_RECT_ALPHA, DEFAULT_SELECT_RECT_WIDTH, DEFAULT_SELECTED, DEFAULT_TEXT_FONT, DEFAULT_TOOLTIP_SHAPE_WIDTH, HOTSPOT_TYPE_CIRCLE, HOTSPOT_TYPE_POLYGON, HOTSPOT_TYPE_RECTANGLE
 
Constructor Summary
MinMaxChartShape(java.awt.geom.Point2D minShapePos, java.awt.geom.Point2D maxShapePos)
          构造图形.
MinMaxChartShape(java.awt.geom.Point2D minShapePos, java.awt.geom.Point2D maxShapePos, java.awt.Shape minShape, java.awt.Shape maxShape)
          构造图形.
 
Method Summary
protected  void calculateTransformedShape()
          计算变换后的图形.
 java.lang.Object clone()
          返回克隆的对象.
 void draw(java.awt.Graphics2D g2)
          在图形设备(如屏幕或打印机)上绘制此图形
protected  void drawSelect(java.awt.Graphics2D g2)
          在图形设备(如屏幕或打印机)上绘制图形的选中部分,因为图形可能会有重叠,所以绘制图形时要先绘制完所有的图形后, 再调用此方法绘制选中部分.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 java.awt.Paint getGroupLinePaint()
          返回绘制连接线的paint对象.
 java.awt.Stroke getGroupLineStroke()
          返回绘制连接线的stroke对象.
protected  java.awt.Shape getHotspotShape()
          返回热点图形.
 java.awt.geom.Point2D getLockPoint()
          返回鼠标点击时锁定图形的点.
 java.awt.Shape getMaxShape()
          返回大值对应的图形.
 java.awt.Paint getMaxShapePaint()
          返回绘制大值图形的paint对象.
 java.awt.geom.Point2D getMaxShapePos()
          返回大值图形的位置.
 java.awt.Stroke getMaxShapeStroke()
          返回绘制大值图形的stroke对象.
 java.awt.Shape getMinShape()
          返回小值对应的图形.
 java.awt.Paint getMinShapePaint()
          返回绘制小值图形的paint对象.
 java.awt.geom.Point2D getMinShapePos()
          返回小值图形的位置.
 java.awt.Stroke getMinShapeStroke()
          返回绘制小值图形的stroke对象.
 ShapeType getShapeType()
          描述本图形的类型.
 java.awt.geom.Point2D getTopLeftPoint()
          返回图形左上角的坐标(不考虑图形的旋转).
 int hashCode()
          计算对象的hashcode值.
 boolean isDrawGroupLine()
          返回是否绘制连接线.
 void setDrawGroupLine(boolean flag)
          设置是否绘制连接线,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setGroupLinePaint(java.awt.Paint paint)
          设置绘制连接线的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setGroupLineStroke(java.awt.Stroke stroke)
          设置绘制连接线的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMaxShape(java.awt.Shape shape)
          设置大值对应的图形,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMaxShapePaint(java.awt.Paint paint)
          设置绘制大值图形的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMaxShapePos(java.awt.geom.Point2D point)
          设置大值图形的位置,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMaxShapeStroke(java.awt.Stroke stroke)
          设置绘制大值图形的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMinShape(java.awt.Shape shape)
          设置小值对应的图形,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMinShapePaint(java.awt.Paint paint)
          设置绘制小值图形的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMinShapePos(java.awt.geom.Point2D point)
          设置小值图形的位置,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setMinShapeStroke(java.awt.Stroke stroke)
          设置绘制小值图形的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.
 java.lang.String toString()
          覆盖toString方法.


DEFAULT_MAX_SHAPE

public static final java.awt.Shape DEFAULT_MAX_SHAPE
缺省的大值对应的图形.


DEFAULT_MIN_SHAPE_PAINT

public static final java.awt.Paint DEFAULT_MIN_SHAPE_PAINT
缺省的绘制小值图形的paint对象.


DEFAULT_MAX_SHAPE_PAINT

public static final java.awt.Paint DEFAULT_MAX_SHAPE_PAINT
缺省的绘制大值图形的paint对象.


DEFAULT_GROUP_LINE_PAINT

public static final java.awt.Paint DEFAULT_GROUP_LINE_PAINT
缺省的绘制连接线的paint对象.


DEFAULT_MIN_SHAPE_STROKE

public static final java.awt.Stroke DEFAULT_MIN_SHAPE_STROKE
缺省的绘制小值图形的stroke对象.


DEFAULT_MAX_SHAPE_STROKE

public static final java.awt.Stroke DEFAULT_MAX_SHAPE_STROKE
缺省的绘制大值图形的stroke对象.


DEFAULT_GROUP_LINE_STROKE

public static final java.awt.Stroke DEFAULT_GROUP_LINE_STROKE
缺省的绘制连接线的stroke对象.


DEFAULT_DRAW_GROUP_LINE

public static final boolean DEFAULT_DRAW_GROUP_LINE
缺省是否绘制连接线.

See Also:
Constant Field Values
Constructor Detail

MinMaxChartShape

public MinMaxChartShape(java.awt.geom.Point2D minShapePos,
                        java.awt.geom.Point2D maxShapePos)
构造图形.

Parameters:
minShapePos - Point2D 小值图形的位置 (可为null).
maxShapePos - Point2D 大值图形的位置 (可为null).

MinMaxChartShape

public MinMaxChartShape(java.awt.geom.Point2D minShapePos,
                        java.awt.geom.Point2D maxShapePos,
                        java.awt.Shape minShape,
                        java.awt.Shape maxShape)
构造图形.

Parameters:
minShapePos - Point2D 小值图形的位置 (可为null).
maxShapePos - Point2D 大值图形的位置 (可为null).
minShape - Shape 小值对应的图形 (可为null).
maxShape - Shape 大值对应的图形 (可为null).
Method Detail

getMinShape

public java.awt.Shape getMinShape()
返回小值对应的图形.

Returns:
Shape 小值对应的图形 (可为null).

setMinShape

public void setMinShape(java.awt.Shape shape)
设置小值对应的图形,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
shape - Shape 小值对应的图形 (可为null).

getMaxShape

public java.awt.Shape getMaxShape()
返回大值对应的图形.

Returns:
Shape 大值对应的图形 (可为null).

setMaxShape

public void setMaxShape(java.awt.Shape shape)
设置大值对应的图形,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
shape - Shape 大值对应的图形 (可为null).

getMinShapePaint

public java.awt.Paint getMinShapePaint()
返回绘制小值图形的paint对象.

Returns:
Paint 绘制小值图形的paint对象 (可为null).

setMinShapePaint

public void setMinShapePaint(java.awt.Paint paint)
设置绘制小值图形的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
paint - Paint 绘制小值图形的paint对象 (可为null).

getMaxShapePaint

public java.awt.Paint getMaxShapePaint()
返回绘制大值图形的paint对象.

Returns:
Paint 绘制大值图形的paint对象 (可为null).

setMaxShapePaint

public void setMaxShapePaint(java.awt.Paint paint)
设置绘制大值图形的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
paint - Paint 绘制大值图形的paint对象 (可为null).

getGroupLinePaint

public java.awt.Paint getGroupLinePaint()
返回绘制连接线的paint对象.

Returns:
Paint 绘制连接线的paint对象 (可为null).

setGroupLinePaint

public void setGroupLinePaint(java.awt.Paint paint)
设置绘制连接线的paint对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
paint - Paint 绘制连接线的paint对象 (不可为null).

getMinShapeStroke

public java.awt.Stroke getMinShapeStroke()
返回绘制小值图形的stroke对象.

Returns:
Stroke 绘制小值图形的stroke对象 (可为null).

setMinShapeStroke

public void setMinShapeStroke(java.awt.Stroke stroke)
设置绘制小值图形的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
stroke - Stroke 绘制小值图形的stroke对象 (可为null).

getMaxShapeStroke

public java.awt.Stroke getMaxShapeStroke()
返回绘制大值图形的stroke对象.

Returns:
Stroke 绘制大值图形的stroke对象 (可为null).

setMaxShapeStroke

public void setMaxShapeStroke(java.awt.Stroke stroke)
设置绘制大值图形的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
stroke - Stroke 绘制大值图形的stroke对象 (可为null).

getGroupLineStroke

public java.awt.Stroke getGroupLineStroke()
返回绘制连接线的stroke对象.

Returns:
Stroke 绘制连接线的stroke对象 (可为null).

setGroupLineStroke

public void setGroupLineStroke(java.awt.Stroke stroke)
设置绘制连接线的stroke对象,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
stroke - Stroke 绘制连接线的stroke对象 (可为null).

getMinShapePos

public java.awt.geom.Point2D getMinShapePos()
返回小值图形的位置.

Returns:
Point2D 小值图形的位置 (可为null).

setMinShapePos

public void setMinShapePos(java.awt.geom.Point2D point)
设置小值图形的位置,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
point - Point2D 小值图形的位置 (可为null).

getMaxShapePos

public java.awt.geom.Point2D getMaxShapePos()
返回大值图形的位置.

Returns:
Point2D 大值图形的位置 (可为null).

setMaxShapePos

public void setMaxShapePos(java.awt.geom.Point2D point)
设置大值图形的位置,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
point - Point2D 大值图形的位置 (可为null).

isDrawGroupLine

public boolean isDrawGroupLine()
返回是否绘制连接线.

Returns:
boolean 是否绘制连接线.

setDrawGroupLine

public void setDrawGroupLine(boolean flag)
设置是否绘制连接线,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
flag - boolean 是否绘制连接线.

draw

public void draw(java.awt.Graphics2D g2)
在图形设备(如屏幕或打印机)上绘制此图形

Specified by:
draw in interface IChartShape
Parameters:
g2 - Graphics2D 图形设备(如屏幕或打印机) (不可为null).

drawSelect

protected void drawSelect(java.awt.Graphics2D g2)
在图形设备(如屏幕或打印机)上绘制图形的选中部分,因为图形可能会有重叠,所以绘制图形时要先绘制完所有的图形后, 再调用此方法绘制选中部分.

Specified by:
drawSelect in class AbstractChartShape
Parameters:
g2 - Graphics2D 图形设备(如屏幕或打印机) (不可为null)

translate

public void translate(double tx,
                      double ty)
相对移动本图形,其中X轴方向偏移tx,Y轴方向偏移ty,并向所有监听器发送 ChartShapeChangeEvent事件.

Specified by:
translate in interface IChartShape
Parameters:
tx - double 沿X轴方向的距离.
ty - double 沿Y轴方向的距离.

getTopLeftPoint

public java.awt.geom.Point2D getTopLeftPoint()
返回图形左上角的坐标(不考虑图形的旋转).

Specified by:
getTopLeftPoint in interface IChartShape
Returns:
Point2D 坐标值.

getLockPoint

public java.awt.geom.Point2D getLockPoint()
返回鼠标点击时锁定图形的点.

Specified by:
getLockPoint in interface IChartShape
Overrides:
getLockPoint in class AbstractChartShape
Returns:
Point2D 坐标值.

calculateTransformedShape

protected void calculateTransformedShape()
计算变换后的图形.

Specified by:
calculateTransformedShape in class AbstractChartShape

getHotspotShape

protected java.awt.Shape getHotspotShape()
返回热点图形.

Specified by:
getHotspotShape in class AbstractChartShape
Returns:
Shape 热点图形 (可为null).

getShapeType

public ShapeType getShapeType()
描述本图形的类型.

Specified by:
getShapeType in interface IChartShape
Returns:
ShapeType ShapeType类定义的常量 (不可为null).

equals

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

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

hashCode

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

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

clone

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

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