Spline构件生成的是一种以节点控制弯曲程度的顺滑的自由曲线,通过编辑节点可以很容易的调节曲线的曲率和走向,对于刻画不规则的轮廓非常方便。
而且Spline构件提供了两种样条曲线函数,可以根据不同情况选择不同的算式函数。
表 33.63. 构件信息
| Component Type | org.operamasks.faces.graph.Spline |
| Component Family | org.operamasks.faces.graph.Curve |
| Component Class | org.operamasks.faces.component.graph.UISpline |
| Tag Class | org.operamasks.faces.webapp.graph.SplineTag |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.graph.UICurve
+++++org.operamasks.faces.component.graph.UISpline
表 33.64. 属性
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| color | 定义类 | org.operamasks.faces.component.graph.UICurve | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件描绘图形的颜色 | ||||
| degree | 定义类 | org.operamasks.faces.component.graph.UISpline | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定曲线的度数,此属性只有type属性值为BSpline时有效 | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| legend | 定义类 | org.operamasks.faces.component.graph.UICurve | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定与数据对应的图例 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| samples | 定义类 | org.operamasks.faces.component.graph.UISpline | ||
| 类型 | javax.el.ValueExpression(int) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件选取样本的个数 | ||||
| type | 定义类 | org.operamasks.faces.component.graph.UISpline | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.SplineType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件类型,属性值必须是BSpline(使用B样条函数描绘图线)或CubicSpline(使用三次样条函数描绘图线) | ||||
以下的例子介绍了g:spline标签常用方法。因为Spline生成的是一种以节点控制弯曲程度的顺滑的自由曲线,需在示例中使用ScatterChart构件。如对ScatterChart构件不了解,请看说明ScatterChart构件的文档。
以下是涉及g:spline标签的页面代码:
<g:scatterChart title="Regression Demo 2" showLegend="true">
<g:xyDataSeries value="#{RegressionData}" var="p">
<g:xyDataItem legend="Sample" x="#{p.x}" y="#{p.y}">
<g:spline type="BSpline" legend="B-Spline" samples="100" degree="3" />
<g:spline type="CubicSpline" legend="Cubic-Spline" samples="100" />
</g:xyDataItem>
</g:xyDataSeries>
</g:scatterChart>