自行画图类
用户自定义画图类需要继承润乾报表提供的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 - 系列值
功能说明: 设置系列值