33.23. <g:spline>

Spline构件生成的是一种以节点控制弯曲程度的顺滑的自由曲线,通过编辑节点可以很容易的调节曲线的曲率和走向,对于刻画不规则的轮廓非常方便。

而且Spline构件提供了两种样条曲线函数,可以根据不同情况选择不同的算式函数。

33.23.1. 构件信息

表 33.63. 构件信息

Component Typeorg.operamasks.faces.graph.Spline
Component Familyorg.operamasks.faces.graph.Curve
Component Classorg.operamasks.faces.component.graph.UISpline
Tag Classorg.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.23.2. 属性

表 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(使用三次样条函数描绘图线)

33.23.3. 构件API

33.23.4. 示例

以下的例子介绍了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>