TextAnnotation构件用于解释数据表中某些数据的意义。
表 33.65. 构件信息
| Component Type | org.operamasks.faces.graph.TextAnnotation |
| Component Family | org.operamasks.faces.graph.TextAnnotatoin |
| Component Class | org.operamasks.faces.component.graph.UITextAnnotation |
| Tag Class | org.operamasks.faces.webapp.graph.TextAnnotationTag |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.graph.UITextAnnotation
表 33.66. 属性
| anchor | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.PositionType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定锚相对于构件显示内容的位置 | ||||
| arrowAngle | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定锚的方向 | ||||
| arrowColor | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定锚的颜色 | ||||
| arrowLength | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定锚的长度 | ||||
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| color | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定显示内容的字体颜色 | ||||
| drawArrow | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否绘制锚,默认值是true | ||||
| font | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定显示内容的字体,属性值的格式为"font-name,font-style,font-size" | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| rotationAngle | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Double) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 构件旋转角度 | ||||
| text | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件显示的内容 | ||||
| xValue | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件锚X轴的值 | ||||
| yValue | 定义类 | org.operamasks.faces.component.graph.UITextAnnotation | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件锚Y轴的值 | ||||
以下的例子介绍了g:textAnnotation标签使用方法,在创建jsp页面之前,需要创建为数据表提供数据的托管Bean:
@ManagedBean(scope=ManagedBeanScope.REQUEST)
public class JDKData extends ArrayDataModel
{
public static class JDKDataItem {
private String releaseVersion;
private int classCount;
public JDKDataItem(String releaseVersion, int classCount) {
this.releaseVersion = releaseVersion;
this.classCount = classCount;
}
......
private static final JDKDataItem[] data = new JDKDataItem[] {
new JDKDataItem("JDK 1.0", 212),
new JDKDataItem("JDK 1.1", 504),
new JDKDataItem("JDK 1.2", 1520),
new JDKDataItem("JDK 1.3", 1842),
new JDKDataItem("JDK 1.4", 2991)
};
......
}下面是使用g:textAnnotation标签的代码:
<g:lineChart title="Java Standard Class Library" xAxisLabel="Release" yAxisLabel="Class Count" drawMarkers="true" showLegend="false">
<g:title value="Number of Classes By Release" />
<g:title value="Source: Java In a Nutshell (4th Edition) by David Flanagan (O'Reilly)" font="SansSerif,normal,10" position="BottomRight" />
<g:dataSeries value="#{JDKData}" var="x" rows="10">
<g:dataLabel value="#{x.releaseVersion}" />
<g:dataItem legend="Classes" value="#{x.classCount}" />
</g:dataSeries>
<g:textAnnotation xValue="JDK 1.0" yValue="212" text="Released 18-May-1995" anchor="Bottom" drawArrow="true" arrowAngle="-90" rotationAngle="-60"/>
<g:textAnnotation xValue="JDK 1.1" yValue="504" text="Released 12-Sep-1997" anchor="Left" drawArrow="true" arrowAngle="0" arrowLength="50" />
......
</g:lineChart>