目录

自行画图类

6.9.3. 自行画图类

用户自定义画图类需要继承润乾报表提供的com.runqian.report4.model.expression. graph.DrawBase类,重载它的public void draw(StringBuffer htmlLink) 方法。

举例请参考应用开发教程第3章第3.5.7.3小节

  • DrawBase类

    DrawBase类提供了画立方体、画文字、画统计图标题、画图例、在两点之间画直线等方法。

    可用方法:

    adjustCoorInset

    语 法: public void adjustCoorInset()

    功能说明: 调整坐标缩进位置

    createCoorValue

    语 法: public void createCoorValue()

    功能说明: 创建纵坐标的值标签,如果是时间序列图,则创建x轴的时间刻度值

    drawString

    语 法: public void drawString(java.lang.String value, int x, int y, int angle, boolean isVertical, java.awt.Font font)

    参数说明: value - 文字值 x - x坐标 y - y坐标 font - 字体

    功能说明: 画文字

    drawRectCube

    语 法: public void drawRectCube(int x, int w, int h, int z, int dz, java.awt.Color c, java.lang.StringBuffer sb, java.lang.Object cat, ExtGraphSery egs)

    参数说明: x - 正面矩形x 正面矩形y 根据h的正负,和基线来计算得出 w - 正面矩形w h - 正面矩形h z - 立方的z深度 dz - 立方的z向位移 c - Color 颜色值 sb - StringBuffer 生成超连接的缓冲 cat - Object 当前分类值 egs – 统计图系列

    功能说明: 画立方体 drawTitle

    语 法: public void drawTitle()

    功能说明: 画统计图标题 drawGraphRect

    语 法: public void drawGraphRect()

    功能说明: 画平面图形区域的矩形

    drawLabel

    语 法: public void drawLabel()

    功能说明: 画坐标轴标题

    drawLine

    语 法: public void drawLine(java.awt.Point b, java.awt.Point e)

    参数说明: b - Point,起始点 e - Point,结束点

    功能说明: 在两个点之间画直线

    htmlLink

    语 法: public void htmlLink(int x1, int y1, int w, int h, java.lang.StringBuffer sb, java.lang.Object category, ExtGraphSery egs)

    参数说明: x1 –图例开始位置X坐标 y1 -图例开始位置Y坐标 w- 图例宽度 h - 图例高度 sb - StringBuffer 生成超连接的缓冲 category – 类型 egs – 统计图系列

    功能说明: 画图例 htmlLink

    语 法: public void htmlLink(java.awt.geom.Arc2D.Double ddd, java.lang.StringBuffer sb, java.lang.Object category, ExtGraphSery egs)

    参数说明: ddd –double 精度指定的弧 sb - StringBuffer 生成超连接的缓冲 category – 类型 egs – 统计图系列

    功能说明: 画图例

    initGraphInset

    语 法: public void initGraphInset()

    功能说明: 初始化统计图边距

    setGraphics2D

    语 法: public void setGraphics2D(java.awt.Graphics2D g)

    参数说明: g–画布,在其上直接画统计图即可

    功能说明: 设置画布

    setGraphWH

    语 法: public void setGraphWH(int w, int h)

    参数说明: w-统计图的宽度 h-统计图的高度

    功能说明: 设置统计图的宽度和高度

  • ExtGraphCategory类

    ExtGraphCategory统计图分类类,可以设置\获取统计图的分类,设置\获取本分类下的系列等等。

    • 举例请参考应用开发教程第3章第3.5.7.3、3.5.7.4小节

    可用方法:

    getName

    语 法: public java.lang.Object getName()

    功能说明: 获得统计图分类名称

    Returns : 统计图分类名称

    getSumSeries

    语 法: public double getSumSeries()

    功能说明: 获得本分类中所有数值的和

    Returns : 分类中所有数值的和

    getPositiveSumSeries

    语 法: public double getPositiveSumSeries()

    功能说明: 获得本分类中所有大于0的数值和,堆积图会用到

    Returns : 分类中所有大于0的数值和

    getNegativeSumSeries

    语 法: public double getNegativeSumSeries()

    功能说明: 获得本分类中所有小于0的数值和,堆积图会用到

    Returns : 分类中所有小于0的数值和

    getSeries

    语 法: public java.util.ArrayList getSeries()

    功能说明: 获得本分类下的系列

    Returns : 本分类下的系列 setName

    语 法: public void setName(java.lang.Object name)

    参数说明: name - 分类名称

    功能说明: 设置分类名称

    setSeries

    语 法: public void setSeries(java.util.ArrayList series)

    参数说明: series - (ExtGraphSery或者 ExtGraphTimeStatus) 本分类下的系列

    功能说明: 设置本分类下的系列

  • ExtGraphProperty类

    ExtGraphProperty类用于设置统计图的属性及用户自定义参数,比如设置警戒线、 设置坐标轴颜色、设置统计图分类、 设置统计值数量单位、设置图中显示数据格式、设置统计图标题、设置统计图的图例位置等等。

    • 举例请参考应用开发教程第3章第3.5.7.3、3.5.7.4小节

    可用方法:

    setType

    语 法: public void setType(byte type)

    参数说明: type - 统计图类型,由GraphTypes中的常量定义

    功能说明: 设置统计图类型

    setAxisColor

    语 法: public void setAxisColor(int color)

    参数说明: color - 坐标轴颜色

    功能说明: 设置坐标轴颜色

    setCanvasColor

    语 法: public void setCanvasColor(int color)

    参数说明: color - 全图背景颜色

    功能说明: 设置全图背景颜色

    setCategories

    语 法: public void setCategories(java.util.ArrayList categorys)

    参数说明: categorys - (ExtGraphProperty ) 统计图分类

    功能说明: 设置统计图分类

    setXTitle

    语 法: public void setXTitle(java.lang.String title)

    参数说明: title - 横轴标题

    功能说明: 设置横轴标题

    setYTitle

    语 法: public void setYTitle(java.lang.String title)

    参数说明: title - 纵轴标题

    功能说明: 设置纵轴标题 setGraphTitle

    语 法: public void setGraphTitle(java.lang.String title)

    参数说明: title 统计图标题

    功能说明: 设置统计图标题

    setBarDistance

    语 法: public void setBarDistance(double distance)

    参数说明: distance - 柱形图或条形图间距

    功能说明: 设置柱形图或条形图间距

    setImageFormat

    语 法: public void setImageFormat(byte format)

    参数说明: format - 图形格式, 值为IMAGE_JPG, IMAGE_GIF, IMAGE_PNG

    功能说明: 设置图形格式

    setTopData

    语 法: public void setTopData(int n)

    参数说明: n - 前N条数据

    功能说明: 设置用前N条数据画图

    setAlarmLines

    语 法: public void setAlarmLines(java.util.ArrayList alarm)

    参数说明: alarm - (ExtAlarmLine) 警戒线

    功能说明: 设置警戒线

    setDisplayData

    语 法: public void setDisplayData(byte data)

    参数说明: data - 图中显示数据,值为DISPDATA_NONE, DISPDATA_VALUE, DISPDATA_PERCENTAGE

    功能说明: 设置图中显示数据

    setDisplayDataFormat1

    语 法: public void setDisplayDataFormat1(java.lang.String format)

    参数说明: format - 图中显示数据格式

    功能说明: 设置图中显示数据格式

    setLink

    语 法: public void setLink(java.lang.String link)

    参数说明: link - 统计图超链接

    功能说明: 设置统计图超链接 s

    etLinkTarget

    语 法: public void setLinkTarget(java.lang.String target)

    参数说明: target - 统计图超链接目标窗口

    功能说明: 设置统计图超链接目标窗口

    setLegendLocation

    语 法: public void setLegendLocation(byte location)

    参数说明: location - 统计图的图例位置,值为LEGEND_LEFT, LEGEND_RIGHT, LEGEND_TOP, LEGEND_BOTTOM, LEGEND_NONE

    功能说明: 设置统计图的图例位置

    setPalette

    语 法: public void setPalette(Palette palette)

    参数说明: palette - 统计图的配色方案名

    功能说明: 设置统计图的配色方案名

    setYStartValue1

    语 法: public void setYStartValue1(double value)

    参数说明: value - 统计值起始值

    功能说明: 设置统计值起始值

    setYEndValue1

    语 法: public void setYEndValue1(double value)

    参数说明: value - 统计值结束值

    功能说明: 设置统计值结束值

    setYInterval1

    语 法: public void setYInterval1(double interval)

    参数说明: interval - 统计值标签间隔

    功能说明: 设置统计值标签间隔

    setTitleMargin

    语 法: public void setTitleMargin(double margin)

    参数说明: margin - 标题与图形之间的间距

    功能说明: 设置标题与图形之间的间距

    setDrawLineDot

    语 法: public void setDrawLineDot(boolean b)

    参数说明: b – true表示标注数据点,false表示不标注

    功能说明: 设置折线图是否标注数据点

    setShowOverlapText

    语 法: public void setShowOverlapText(boolean b)

    参数说明: b – true表示显示后一数值或标签,false表示不显示

    功能说明: 设置相邻数值或标签重叠时是否显示后一数值或标签

    setXInterval

    语 法: public void setXInterval(double interval)

    参数说明: interval - 分类轴标签间隔

    功能说明: 设置分类轴标签间隔

    setTimeTrendXValues

    语 法: public void setTimeTrendXValues(java.util.ArrayList value)

    参数说明: value - (TimeTrendXValue ) 时间走势图横轴

    功能说明: 设置时间走势图横轴

  • ExtGraphSery类

    ExtGraphSery统计图序列类,可以设置\获取统计图的系列名称和系列值等等。

    可用方法:

    getName

    语 法: public java.lang.String getName()

    功能说明: 获得系列名称

    Returns : 系列名称

    setName

    语 法: public void setName(java.lang.String name)

    参数说明: name - 系列名称

    功能说明: 设置系列名称

    getValue

    语 法: public double getValue()

    功能说明: 获得系列值

    Returns : 系列值

    setValue

    语 法: public void setValue(java.lang.Number value)

    参数说明: value - 系列值

    功能说明: 设置系列值