dynamictreebean.java

来自「OperaMasks是一种基于J2EE的Web开发技术」· Java 代码 · 共 111 行

JAVA
111
字号
package demo.tree;

import org.operamasks.faces.annotation.Action;
import org.operamasks.faces.annotation.Bind;
import org.operamasks.faces.annotation.ManagedBean;
import org.operamasks.faces.annotation.ManagedBeanScope;
import org.operamasks.faces.component.tree.base.TreeDataProvider;
import org.operamasks.faces.component.tree.impl.UITree;
import org.operamasks.faces.component.tree.impl.UITreeNode;

@ManagedBean(name = "DynamicTreeBean", scope = ManagedBeanScope.REQUEST)
public class DynamicTreeBean {
	@Bind
	private UITree tree;

	@Bind
	private String response;

	@Bind(id = "tree")
	private TreeDataProvider treeData = new TreeDataProvider() {
		public Object[] getChildren(Object node) {
			if (node == null) {
				return new Object[] { "root" };
			}
			if (node == "root") {
				return new Object[] { "node1", "node2", "node3" };
			}
			if (node == "node1") {
				return new Object[] { "node11", "node12", "node13" };
			}
			if (node == "node2") {
				return new Object[] { "node21", "node22" };
			}
			if (node == "node3") {
				return new Object[] { "node31" };
			}
			return null;
		}

		public Boolean isChecked(Object node) {
			return !("root".equals(node));
		}

		public boolean isCascade(Object node) {
			return true;
		}

		public String getIcon(Object node) {
			return "";
		}

		public String getText(Object node) {
			return node.toString();
		}

		public String getHref(Object node) {
			return null;
		}

		public String getHrefTarget(Object node) {
			return null;
		}

		public boolean isExpanded(Object arg0) {
			// TODO Auto-generated method stub
			return false;
		}
	};

	@Action
	public void tree_onselect() {
		printTreeState();
	}

	@Action
	public void tree_oncheck() {
		printTreeState();
	}

	@Action
	public void tree_oncollapsenode() {
		printTreeState();
	}

	@Action
	public void tree_onexpandnode() {
		printTreeState();
	}

	private void printTreeState() {
	    if (tree == null) {
	        return;
	    }
		response = "当前事件信息:<br/>事件名:" + tree.getEventName() + "<br/>";
		if (tree.getEventNode() != null) {
		    response += "响应事件的节点是:" + tree.getEventNode().getText();
		}
		if (tree.getCheckedNodes() != null) {
	        response += "<br/><br/>当前树的状态是:<br/>";
	        response += "勾中的节点是:";
		    for (UITreeNode node : tree.getCheckedNodes()) {
		        response += node.getText() + ",";
		    }
		}
		if (tree.getSelectedNode() != null) {
	        response += "<br/>选中的节点是:";
			response += tree.getSelectedNode().getText();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?