com.ijchart.xychart.shape
Class AbstractRectangleTextChartShape

java.lang.Object
  extended by com.ijchart.xychart.shape.AbstractChartShape
      extended by com.ijchart.xychart.shape.AbstractTextChartShape
          extended by com.ijchart.xychart.shape.AbstractRectangleTextChartShape
All Implemented Interfaces:
IChartShapeChangeListener, IChartShape, java.io.Serializable, java.lang.Cloneable, java.util.EventListener
Direct Known Subclasses:
BoxAndWhiskerChartShape, CylinderTextChartShape, DblHeadMatchstickChartShape, DualBreakLineChartShape, EllipseTextChartShape, GeneralPathChartShape, HighLowChartShape, LineAndShapeChartShape, ParallelepipedTextChartShape, PieOutsideLabelChartShape, RectangleTextChartShape, SectorChartShape, StatisticalBarChartShape, StatisticalLineChartShape, StockChartShape, TextAndPointerChartShape

public abstract class AbstractRectangleTextChartShape
extends AbstractTextChartShape
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 boolean DEFAULT_DRAW_AUTO_WRAP
          自动换行的缺省值.
static boolean DEFAULT_FORCE_INSIDE_TEXT_NO_WRAP
          缺省是否强制图形内部的字符串不换行.
static boolean DEFAULT_FORCE_SHOW_ALL
          缺省是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符.
static int DEFAULT_TEXT_MAX_SHOW_LINE
          标签缺省的最大显示行数,默认全部显示.
 
Fields inherited from class com.ijchart.xychart.shape.AbstractTextChartShape
DEFAULT_TEXT_DIRECTION, DEFAULT_TEXT_HORIZONTAL_ALIGNMENT, DEFAULT_TEXT_POSITION, DEFAULT_TEXT_VERTICAL_ALIGNMENT
 
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
protected AbstractRectangleTextChartShape(java.awt.geom.Rectangle2D drawArea, java.lang.String text)
          在区域drawArea中显示文字text.
protected AbstractRectangleTextChartShape(java.awt.geom.Rectangle2D drawArea, java.lang.String text, java.awt.Font font)
          在区域drawArea中显示文字text.
 
Method Summary
 java.lang.Object clone()
          返回克隆的对象.
protected  void drawText(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          绘制文字部分.
protected  void drawTextWithTrimMarginRect(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D drawArea)
          在区域rect中显示文字.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 java.awt.geom.Rectangle2D getDrawArea()
          返回文字的可写区域.
 java.awt.geom.Point2D getLockPoint()
          返回鼠标点击时锁定图形的点.
 int getTextMaxShowLine()
          返回标签最大的显示行数.
protected  java.awt.geom.Point2D getTooltipShapeTranslatePoint()
          返回tooltip图形应该偏移的位置.
 java.awt.geom.Point2D getTopLeftPoint()
          返回图形左上角的坐标.
 int hashCode()
          计算对象的hashcode值.
 boolean isAutoWrap()
          返回当字符串不能在一行显示时是否自动换行.
 boolean isForceInsideTextNoWrap()
          返回是否强制图形内部的字符串不换行.
 boolean isForceShowAll()
          返回是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符.
 void setAutoWrap(boolean autoWrap)
          设置当字符串不能在一行显示时是否自动换行,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setDrawArea(java.awt.geom.Rectangle2D drawArea)
          设置文字可写区域,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setForceInsideTextNoWrap(boolean flag)
          设置是否强制图形内部的字符串不换行,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setForceShowAllText(boolean flag)
          设置是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符,并向所有监听器发送 ChartShapeChangeEvent事件.
 void setTextMaxShowLine(int textMaxShowLine)
          设置标签最大的显示行数,并向所有监听器发送 ChartShapeChangeEvent事件.
protected  java.lang.String[] splitString(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
          如果字符串不能在一行显示完毕,则将其分为多行.
 java.lang.String toString()
          覆盖toString方法.

See Also:
Constant Field Values

DEFAULT_TEXT_MAX_SHOW_LINE

public static final int DEFAULT_TEXT_MAX_SHOW_LINE
标签缺省的最大显示行数,默认全部显示.

See Also:
Constant Field Values

DEFAULT_FORCE_INSIDE_TEXT_NO_WRAP

public static final boolean DEFAULT_FORCE_INSIDE_TEXT_NO_WRAP
缺省是否强制图形内部的字符串不换行.

See Also:
Constant Field Values

DEFAULT_FORCE_SHOW_ALL

public static final boolean DEFAULT_FORCE_SHOW_ALL
缺省是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符.

See Also:
Constant Field Values
Constructor Detail

AbstractRectangleTextChartShape

protected AbstractRectangleTextChartShape(java.awt.geom.Rectangle2D drawArea,
                                          java.lang.String text)
在区域drawArea中显示文字text.

Parameters:
drawArea - Rectangle2D 绘制区域 (不可为null).
text - String 要显示的文字 (可为null).

AbstractRectangleTextChartShape

protected AbstractRectangleTextChartShape(java.awt.geom.Rectangle2D drawArea,
                                          java.lang.String text,
                                          java.awt.Font font)
在区域drawArea中显示文字text.

Parameters:
drawArea - Rectangle2D 绘制区域 (不可为null).
text - String 要显示的文字 (可为null).
font - 绘制字体 (可为null),如果font为null, 字体设置为IChartShape.DEFAULT_TEXT_FONT.
Method Detail

getDrawArea

public java.awt.geom.Rectangle2D getDrawArea()
返回文字的可写区域.

Returns:
Rectangle2D 矩形的文字可写区域 (不为null).

setDrawArea

public void setDrawArea(java.awt.geom.Rectangle2D drawArea)
设置文字可写区域,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
drawArea - Rectangle2D 矩形的文字可写区域 (不可为null).

isAutoWrap

public boolean isAutoWrap()
返回当字符串不能在一行显示时是否自动换行.

Returns:
boolean

setAutoWrap

public void setAutoWrap(boolean autoWrap)
设置当字符串不能在一行显示时是否自动换行,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
autoWrap - A boolean.

isForceInsideTextNoWrap

public boolean isForceInsideTextNoWrap()
返回是否强制图形内部的字符串不换行.

Returns:
boolean

setForceInsideTextNoWrap

public void setForceInsideTextNoWrap(boolean flag)
设置是否强制图形内部的字符串不换行,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
flag - boolean

getTextMaxShowLine

public int getTextMaxShowLine()
返回标签最大的显示行数.

Returns:
int 最大显示行数,大于等于1.

setTextMaxShowLine

public void setTextMaxShowLine(int textMaxShowLine)
设置标签最大的显示行数,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
textMaxShowLine - int 最大显示行数,必须大于等于1.

isForceShowAll

public boolean isForceShowAll()
返回是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符.

Returns:
boolean 布尔值.

setForceShowAllText

public void setForceShowAllText(boolean flag)
设置是否强制显示所有的字符,即如果字符太长,不在后面添加"."字符,并向所有监听器发送 ChartShapeChangeEvent事件.

Parameters:
flag - boolean 布尔值.

drawText

protected void drawText(java.awt.Graphics2D g2,
                        java.awt.geom.Rectangle2D area)
绘制文字部分.

Parameters:
g2 - Graphics2D 图形设备(如屏幕或打印机) (不可为null)
area - Rectangle2D 绘制区域 (不可为null).

drawTextWithTrimMarginRect

protected void drawTextWithTrimMarginRect(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D drawArea)
在区域rect中显示文字.

Parameters:
g2 - Graphics2D 图形设备(如屏幕或打印机) (不可为null)
drawArea - Rectangle2D 绘制区域 (不可为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 坐标值.

splitString

protected java.lang.String[] splitString(java.awt.Graphics2D g2,
                                         java.awt.geom.Rectangle2D area)
如果字符串不能在一行显示完毕,则将其分为多行.

Parameters:
g2 - Graphics2D绘图环境.
area - Rectangle2D 绘制文字的区域.
Returns:
String[] 分隔为多行的字符串数组.

getTooltipShapeTranslatePoint

protected java.awt.geom.Point2D getTooltipShapeTranslatePoint()
返回tooltip图形应该偏移的位置.

Overrides:
getTooltipShapeTranslatePoint in class AbstractChartShape
Returns:
Point2D 坐标 (可为null).

equals

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

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

hashCode

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

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

clone

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

Overrides:
clone in class AbstractTextChartShape
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.