com.ijchart.xychart.shape
Class MeterArcChartShape

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

public class MeterArcChartShape
extends AbstractChartShape
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 java.awt.Paint DEFAULT_ARC_BORDER_PAINT
          绘制边框的paint.
static double DEFAULT_BORDER_SIZE
          缺省的边界大小.
static boolean DEFAULT_DRAW_RADIUS
          缺省是否绘制半径线.
static boolean DEFAULT_DRAW_TICK
          缺省是否显示刻度.
static boolean DEFAULT_DRAW_TICK_LABEL
          缺省是否显示刻度值.
static java.awt.Font DEFAULT_TICK_LABEL_FONT
          绘制刻度标签的字体.
static java.text.NumberFormat DEFAULT_TICK_LABEL_FORMAT
          缺省的格式化刻度值的类.
static java.awt.Paint DEFAULT_TICK_LABEL_PAINT
          绘制刻度标签的paint.
static double DEFAULT_TICK_LENGTH
          缺省的刻度的长度.
static java.awt.Paint DEFAULT_TICK_PAINT
          缺省的绘制刻度的paint.
static java.awt.Stroke DEFAULT_TICK_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
MeterArcChartShape(java.awt.geom.Arc2D arc)
          构造器.
MeterArcChartShape(java.awt.geom.Arc2D arc, double startTickAngle, double tickAngleSize, java.lang.Number[] tickLabels)
          构造器.
 
Method Summary
protected  void calculateTransformedShape()
          计算变换后的图形.
 java.lang.Object clone()
          返回克隆的对象.
 void draw(java.awt.Graphics2D g2)
          在图形设备(如屏幕或打印机)上绘制此图形.绘制时不考虑shape的位置坐标.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 java.awt.geom.Arc2D getArc()
          返回扇形图形.
 double getBorderSize()
          返回边界大小.
protected  java.awt.Shape getHotspotShape()
          返回热点图形.
 java.awt.geom.Point2D getLockPoint()
          返回鼠标点击时锁定图形的点.
 ShapeType getShapeType()
          描述本图形的类型.
 double getStartTickAngle()
          返回开始绘制刻度的角度.
 java.awt.Font getTickLabelFont()
          返回绘制刻度标签的字体.
 java.text.NumberFormat getTickLabelFormat()
          返回格式化刻度值的类.
 java.awt.Paint getTickLabelPaint()
          返回绘制刻度标签的paint.
 java.lang.Number[] getTickLabels()
          返回刻度值集合.
 java.util.Collection getTickLabelShapes()
          返回刻度标签图形集合,此集合是不可修改的.
 double getTickLength()
          返回刻度的长度.
 java.util.Collection getTickLineShapes()
          返回刻度值线图形集合,此集合是不可修改的.
 java.awt.Paint getTickPaint()
          返回绘制刻度的paint.
 double getTickSizeAngle()
          返回刻度的大小(单位为角度).
 java.awt.Stroke getTickStroke()
          返回绘制刻度的stroke.
 java.awt.geom.Point2D getTopLeftPoint()
          返回图形左上角的坐标.
 int hashCode()
          计算对象的hashcode值.
 boolean isDrawRadius()
          返回是否绘制半径线.
 boolean isDrawTick()
          返回是否显示刻度.
 boolean isDrawTickLabel()
          返回是否显示刻度值.
 void setArc(java.awt.geom.Arc2D arc)
          设置扇形图形,并向所有监听器发送ChartShapeChangeEvent事件.
 void setBorderSize(double size)
          设置边界大小,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setDrawRadius(boolean flag)
          设置是否绘制半径线,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setDrawTick(boolean flag)
          设置是否显示刻度,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setDrawTickLabel(boolean flag)
          设置是否显示刻度值,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setStartTickAngle(double angle)
          设置开始绘制刻度的角度,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickLabelFont(java.awt.Font font)
          设置绘制刻度标签的字体,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickLabelFormat(java.text.NumberFormat format)
          设置格式化刻度值的类,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickLabelPaint(java.awt.Paint paint)
          设置绘制刻度标签的paint,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickLabels(java.lang.Number[] labels)
          设置刻度值集合,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickLength(double length)
          设置刻度的长度,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickPaint(java.awt.Paint paint)
          设置绘制刻度的paint,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickSizeAngle(double size)
          设置刻度的大小(单位为角度),并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTickStroke(java.awt.Stroke stroke)
          设置绘制刻度的stroke,并向所有监听器发送 ChartShapeChangeEvent事件.
 void translate(double tx, double ty)
          相对移动本图形,其中X轴方向偏移tx,Y轴方向偏移ty,并向所有监听器发送 ChartShapeChangeEvent事件.

See Also:
Constant Field Values

DEFAULT_DRAW_TICK_LABEL

public static final boolean DEFAULT_DRAW_TICK_LABEL
缺省是否显示刻度值.

See Also:
Constant Field Values

DEFAULT_DRAW_TICK

public static final boolean DEFAULT_DRAW_TICK
缺省是否显示刻度.

See Also:
Constant Field Values

DEFAULT_TICK_LENGTH

public static final double DEFAULT_TICK_LENGTH
缺省的刻度的长度.

See Also:
Constant Field Values

DEFAULT_TICK_PAINT

public static final java.awt.Paint DEFAULT_TICK_PAINT
缺省的绘制刻度的paint.


DEFAULT_TICK_STROKE

public static final java.awt.Stroke DEFAULT_TICK_STROKE
缺省的绘制刻度的stroke.


DEFAULT_TICK_LABEL_FONT

public static final java.awt.Font DEFAULT_TICK_LABEL_FONT
绘制刻度标签的字体.


DEFAULT_TICK_LABEL_PAINT

public static final java.awt.Paint DEFAULT_TICK_LABEL_PAINT
绘制刻度标签的paint.


DEFAULT_BORDER_SIZE

public static final double DEFAULT_BORDER_SIZE
缺省的边界大小.

See Also:
Constant Field Values

DEFAULT_TICK_LABEL_FORMAT

public static final java.text.NumberFormat DEFAULT_TICK_LABEL_FORMAT
缺省的格式化刻度值的类.


DEFAULT_ARC_BORDER_PAINT

public static final java.awt.Paint DEFAULT_ARC_BORDER_PAINT
绘制边框的paint.

Constructor Detail

MeterArcChartShape

public MeterArcChartShape(java.awt.geom.Arc2D arc)
构造器.

Parameters:
arc - Arc2D 扇形图形 (不可为null).

MeterArcChartShape

public MeterArcChartShape(java.awt.geom.Arc2D arc,
                          double startTickAngle,
                          double tickAngleSize,
                          java.lang.Number[] tickLabels)
构造器.

Parameters:
arc - Arc2D 扇形图形 (不可为null).
startTickAngle - double 开始绘制刻度的角度.
tickAngleSize - double 刻度的大小(单位为角度).
tickLabels - Number[] 刻度值集合 (可为null).
Method Detail

getArc

public java.awt.geom.Arc2D getArc()
返回扇形图形.

Returns:
Arc2D 扇形图形 (不为null).

setArc

public void setArc(java.awt.geom.Arc2D arc)
设置扇形图形,并向所有监听器发送ChartShapeChangeEvent事件.

Parameters:
arc - Arc2D 扇形图形 (不可为null).

getBorderSize

public double getBorderSize()
返回边界大小.

Returns:
double 边界大小.

setBorderSize

public void setBorderSize(double size)
设置边界大小,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
size - double 边界大小.

isDrawRadius

public boolean isDrawRadius()
返回是否绘制半径线.

Returns:
boolean 布尔值.

setDrawRadius

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

Parameters:
flag - boolean 布尔值.

isDrawTick

public boolean isDrawTick()
返回是否显示刻度.

Returns:
boolean 布尔值.

setDrawTick

public void setDrawTick(boolean flag)
设置是否显示刻度,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
flag - boolean 布尔值.

isDrawTickLabel

public boolean isDrawTickLabel()
返回是否显示刻度值.

Returns:
boolean 布尔值.

setDrawTickLabel

public void setDrawTickLabel(boolean flag)
设置是否显示刻度值,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
flag - boolean 布尔值.

getStartTickAngle

public double getStartTickAngle()
返回开始绘制刻度的角度.

Returns:
double 角度.

setStartTickAngle

public void setStartTickAngle(double angle)
设置开始绘制刻度的角度,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
angle - double 角度.

getTickLabelFont

public java.awt.Font getTickLabelFont()
返回绘制刻度标签的字体.

Returns:
Font 字体.

setTickLabelFont

public void setTickLabelFont(java.awt.Font font)
设置绘制刻度标签的字体,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
font - Font 字体 (不可为null).

getTickLabelFormat

public java.text.NumberFormat getTickLabelFormat()
返回格式化刻度值的类.

Returns:
NumberFormat 格式化类.

setTickLabelFormat

public void setTickLabelFormat(java.text.NumberFormat format)
设置格式化刻度值的类,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
format - NumberFormat 格式化类 (可为null).

getTickLabelPaint

public java.awt.Paint getTickLabelPaint()
返回绘制刻度标签的paint.

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

setTickLabelPaint

public void setTickLabelPaint(java.awt.Paint paint)
设置绘制刻度标签的paint,并向所有监听器发送 ChartShapeChangeEvent事件.

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

getTickLabels

public java.lang.Number[] getTickLabels()
返回刻度值集合.

Returns:
Number[] 刻度值集合 (可为null).

setTickLabels

public void setTickLabels(java.lang.Number[] labels)
设置刻度值集合,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
labels - Number[] 刻度值集合 (可为null).

getTickLength

public double getTickLength()
返回刻度的长度.

Returns:
double 长度.

setTickLength

public void setTickLength(double length)
设置刻度的长度,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
length - double 长度 (必须大于0).

getTickPaint

public java.awt.Paint getTickPaint()
返回绘制刻度的paint.

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

setTickPaint

public void setTickPaint(java.awt.Paint paint)
设置绘制刻度的paint,并向所有监听器发送 ChartShapeChangeEvent事件.

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

getTickSizeAngle

public double getTickSizeAngle()
返回刻度的大小(单位为角度).

Returns:
double 刻度大小.

setTickSizeAngle

public void setTickSizeAngle(double size)
设置刻度的大小(单位为角度),并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
size - double 刻度大小 (必须大于0).

getTickStroke

public java.awt.Stroke getTickStroke()
返回绘制刻度的stroke.

Returns:
Stroke 画笔 (不为null).

setTickStroke

public void setTickStroke(java.awt.Stroke stroke)
设置绘制刻度的stroke,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
stroke - Stroke 画笔 (不可为null).

getTickLineShapes

public java.util.Collection getTickLineShapes()
返回刻度值线图形集合,此集合是不可修改的.

Returns:
Collection 图形集合 (不为null).

getTickLabelShapes

public java.util.Collection getTickLabelShapes()
返回刻度标签图形集合,此集合是不可修改的.

Returns:
Collection 图形集合 (不为null).

draw

public void draw(java.awt.Graphics2D g2)
在图形设备(如屏幕或打印机)上绘制此图形.绘制时不考虑shape的位置坐标.

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)

calculateTransformedShape

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

Specified by:
calculateTransformedShape in class AbstractChartShape

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 坐标值.

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).

hashCode

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

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

equals

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

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

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.