RichFaces rich(tree用法示例)

本文概述

  • 样式类和皮肤参数
  • 例子
该组件用于创建分层树。它使用< rich:treeNode> 作为子组件。
我们可以根据需要创建定制树。 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 它用于定义自定义节点图标的样式。 没有皮肤参数。
例子 【RichFaces rich(tree用法示例)】在下面的示例中, 我们正在实现< rich:tree> 组件。本示例包含以下文件。
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 rich(tree用法示例)

文章图片
扩展根树后, 它将显示所有树节点, 如下所示。
RichFaces rich(tree用法示例)

文章图片

    推荐阅读