本文概述
- 样式类和皮肤参数
- 例子
我们可以根据需要创建定制树。 RichFaces提供了所有可用的组件来相应地创建树。
它需要value属性绑定数据模型以创建树。数据模型必须是org.richfaces.model.TreeNode接口, org.richfaces.model.TreeDataModel接口或javax.swing.tree.TreeNode接口。
样式类和皮肤参数 下表包含TreeNode的Style类和相应的外观参数。
Class | Function | Skin Parameters | 映射的CSS属性 |
---|---|---|---|
.rf-trn | 它用于定义树节点的样式。 | generalFontFont generalSizeFont | 字体家族字体大小 |
.rf-trn-lbl | 它用于定义树节点标签的样式。 | 没有皮肤参数。 | |
.rf-trn-cnt | 它用于定义树节点内容的样式。 | 没有皮肤参数。 | |
.rf-trn-sel | 它用于定义所选树节点的样式。 | additionalBackgroundColor | background |
.rf-trn-ldn | 它用于为树节点加载时定义样式。 | additionalBackgroundColor | background |
.rf-rn-hnd | 它用于定义树节点句柄的样式。 | 没有皮肤参数。 | |
.rf-trn-hnd-lf | 它用于定义叶节点句柄的样式。 | 没有皮肤参数。 | |
.rf-trn-hnd-colps | 它用于为折叠节点的句柄定义样式。 | 没有皮肤参数。 | |
.rf-trn-hnd-exp | 它用于定义扩展节点的句柄的样式。 | 没有皮肤参数。 | |
.rf-trn-hnd-ldn-fct | 它用于为树节点句柄的加载方面定义样式。 | 没有皮肤参数。 | |
.rf-trn-ico | 用于定义树节点图标的样式。 | 没有皮肤参数。 | |
.rf-trn-ico-lf | 用于定义叶节点图标的样式。 | 没有皮肤参数。 | |
.rf-trn-ico-colps | 它用于为折叠节点的图标定义样式。 | 没有皮肤参数。 | |
.rf-trn-ico-exp | 它用于为扩展节点的图标定义样式。 | 没有皮肤参数。 | |
.rf-trn-ico-cst | 它用于定义自定义节点图标的样式。 | 没有皮肤参数。 |
JSF文件
// rich-tree.xhtml
<
?xml version='1.0' encoding='UTF-8' ?>
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
ui:composition xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:a4j="http://richfaces.org/a4j"xmlns:rich="http://richfaces.org/rich">
<
f:view>
<
h:head>
<
title>
Rich Tree <
/title>
<
/h:head>
<
h:body>
<
h:form>
<
rich:tree value="http://www.srcmini.com/#{tree.rootNodes}" var="tree">
<
rich:treeNode>
<
h:outputText value="http://www.srcmini.com/#{tree.data}" />
<
/rich:treeNode>
<
/rich:tree>
<
/h:form>
<
/h:body>
<
/f:view>
<
/ui:composition>
托管豆
// Tree.java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.richfaces.model.TreeNodeImpl;
@ManagedBean@RequestScopedpublic class Tree extends TreeNodeImpl {private Tree stationRoot;
private Tree rootNodes;
private Object data;
public Tree() {super();
}public Tree(boolean leaf, Object data) {super(leaf);
this.data = http://www.srcmini.com/data;
}public Object getData() {return data;
}@Overridepublic String toString() {return super.toString() +">
>
" + data;
}public Tree getRootNodes() {if (rootNodes == null) {String[] author_collection = {"Ravindra Nath Tagore - Geetanjali", "David Bowie - Let's Dance", "Paulo Coelho- Alchemist", "Kim Carnes - Bette Davis Eyes", "KC &
the Sunshine Band - Give It Up"};
stationRoot = new Tree(false, "Books Collection");
for (int i = 0;
i <
author_collection.length;
i++) {Tree child = new Tree(true, author_collection[i]);
stationRoot.addChild(i, child);
}rootNodes = new Tree();
rootNodes.addChild(0, stationRoot);
}return rootNodes;
}}
输出
文章图片
扩展根树后, 它将显示所有树节点, 如下所示。
文章图片
推荐阅读
- RichFaces外观和主题化
- RichFaces rich(popupPanel用法)
- RichFaces rich(toolbar用法示例)
- RichFaces rich:select组件用法
- RichFaces rich(panelMenu使用示例)
- RichFaces rich(progressBar用法)
- RichFaces rich(orderingList示例)
- RichFaces rich(pickList用法)
- RichFaces rich(panel用法示例)