33.12. <g:functionItem>

FunctonItem构件需与FunctoinSeries构件结合使用,绘制由用户自定义的算术表达式计算得到的数据图。值得注意的是:由于FunctionSeries构件没有value和var属性,FunctionItem的值不是由FunctionSeries构件的var属性提供。

33.12.1. 构件信息

表 33.33. 构件信息

Component Typeorg.operamasks.faces.graph.FunctionItem
Component Familyorg.operamasks.faces.graph.DataItem
Component Classorg.operamasks.faces.component.graph.UIFunctionItem
Tag Classorg.operamasks.faces.webapp.graph.FunctionItemTag

继承体系

+java.lang.Object

++javax.faces.component.UIComponent

+++javax.faces.component.UIComponentBase

++++org.operamasks.faces.component.graph.UIDataItem

+++++org.operamasks.faces.component.graph.UIFunctionItem

33.12.2. 属性

表 33.34. 属性

binding 定义类 javax.faces.component.UIComponentBase
类型 javax.el.ValueExpression(javax.faces.component.UIComponent)
是否必须 延时求值
一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。
color 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Object)
是否必须 延时求值
指定构件描绘图形的颜色
drawItemLabel 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Boolean)
是否必须 延时求值
指定是否显示数据值,默认值是false
drawLines 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定是否描绘数据间的连线,默认值时true,此属性只会在构件包含在LineChart或CurveChart构件里才有效
drawMarkers 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定构件是否显示数据点标记,默认值时false,此属性只会在构件包含在LineChart或CurveChart构件里才有效
drawOutline 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定是否显示图例的图标边框,默认值是true
end 定义类 org.operamasks.faces.component.graph.UIFunctionItem
类型 javax.el.ValueExpression(java.lang.Double)
是否必须 延时求值
指定算数表达式变量的结束值
expression 定义类 org.operamasks.faces.component.graph.UIFunctionItem
类型 java.lang.String
是否必须 延时求值
指定算术表达式的函数
fillMarkers 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定构件显示数据点标记时,标记是否被填充,默认值是true
id 定义类 javax.faces.component.UIComponentBase
类型 java.lang.String
是否必须 延时求值
这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。
itemLabelColor 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Object)
是否必须 延时求值
指定数据值的颜色
itemLabelFont 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Object)
是否必须 延时求值
指定数据值的字体
legend 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
指定图例名称
lineStyle 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(org.operamasks.faces.component.graph.LineStyleType)
是否必须 延时求值
指定数据间连线的样式
lineWidth 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Float)
是否必须 延时求值
指定数据间连线的宽度,此属性只会在构件包含在LineChart或CurveChart构件里才有效
markerFillColor 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Object)
是否必须 延时求值
指定填充数据点标记的颜色
outlineColor 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(java.lang.Object)
是否必须 延时求值
指定图例的图标边框颜色
rendered 定义类 javax.faces.component.UIComponentBase
类型 boolean(boolean)
是否必须 延时求值
一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。
showLegend 定义类 org.operamasks.faces.component.graph.UIDataItem
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定否显示图例,默认值是false
start 定义类 org.operamasks.faces.component.graph.UIFunctionItem
类型 javax.el.ValueExpression(java.lang.Double)
是否必须 延时求值
指定算术表达式变量的起始值
step 定义类 org.operamasks.faces.component.graph.UIFunctionItem
类型 javax.el.ValueExpression(java.lang.Double)
是否必须 延时求值
指定算数表达式的步长

33.12.3. 构件API

33.12.3.1. LineStyleType(枚举类型)

表 33.35. 枚举成员

名称 说明
Solid实线
Dot点线
Dash虚线
DashDot点-虚线
DashDotDot点-点-虚线

33.12.4. 示例

以下的例子介绍了g:functionItem标签常用方法,在创建jsp页面之前,需要编写用户自定义的算术表达式。在这个Bean中定义了一个tan函数:

@ManagedBean(scope=ManagedBeanScope.REQUEST)
public class GraphData {
    public double tan(double x) {
        return Math.tan(x);
    } 
}

以下是g:functionItem标签的代码,注意:FunctionSeries构件不对FunctionItem构件提供数据,算术表达式变量的起始值、结束值和步长分别由start、end和step属性指定:

<g:lineChart>
 <g:yAxis lowerBound="-10" upperBound="10"/>
 <g:functionSeries>
  <g:functionItem legend="y = tan(x)" start="-10" end="10" step="0.1" expression="#{GraphData.tan}"/>
 </g:functionSeries> 
</g:lineChart>