package com.icefaces.support.example; import com.icesoft.faces.component.ContextActionEvent; import com.icesoft.faces.component.DisplayEvent; import com.icesoft.faces.component.tree.IceUserObject; import javax.faces.event.ActionEvent; import javax.faces.event.PhaseId; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; public class TestBean { // tree default model, used as a value for the tree component private DefaultTreeModel model; private IceUserObject nodeObject; // default node icons for xp thme private static final String XP_BRANCH_CONTRACTED_ICON = "./xmlhttp/css/xp/css-images/tree_folder_open.gif"; private static final String XP_BRANCH_EXPANDED_ICON = "./xmlhttp/css/xp/css-images/tree_folder_close.gif"; private static final String XP_BRANCH_LEAF_ICON = "./xmlhttp/css/xp/css-images/tree_document.gif"; public TestBean() { // create root node with its children expanded DefaultMutableTreeNode rootTreeNode = new DefaultMutableTreeNode(); IceUserObject rootObject = new IceUserObject(rootTreeNode); rootObject.setText("Root Node"); rootObject.setExpanded(true); rootObject.setBranchContractedIcon(XP_BRANCH_CONTRACTED_ICON); rootObject.setBranchExpandedIcon(XP_BRANCH_EXPANDED_ICON); rootObject.setLeafIcon(XP_BRANCH_LEAF_ICON); rootTreeNode.setUserObject(rootObject); // model is accessed by by the ice:tree component model = new DefaultTreeModel(rootTreeNode); // add some child notes for (int i = 0; i < 3; i++) { DefaultMutableTreeNode branchNode = new DefaultMutableTreeNode(); IceUserObject branchObject = new IceUserObject(branchNode); branchObject.setText("node-" + i); branchObject.setBranchContractedIcon(XP_BRANCH_CONTRACTED_ICON); branchObject.setBranchExpandedIcon(XP_BRANCH_EXPANDED_ICON); branchObject.setLeafIcon(XP_BRANCH_LEAF_ICON); branchObject.setLeaf(true); branchNode.setUserObject(branchObject); rootTreeNode.add(branchNode); // add some more sub children for (int k = 0; k < 2; k++) { DefaultMutableTreeNode subBranchNode = new DefaultMutableTreeNode(); IceUserObject subBranchObject = new IceUserObject(subBranchNode); subBranchObject.setText("sub-node-" + i + "-" + k); subBranchObject.setBranchContractedIcon(XP_BRANCH_CONTRACTED_ICON); subBranchObject.setBranchExpandedIcon(XP_BRANCH_EXPANDED_ICON); subBranchObject.setLeafIcon(XP_BRANCH_LEAF_ICON); branchObject.setLeaf(true); subBranchNode.setUserObject(subBranchObject); branchNode.add(subBranchNode); } } } /** * Gets the tree's default model. * * @return tree model. */ public DefaultTreeModel getModel() { return model; } public IceUserObject getNodeObject() { return nodeObject; } public void setNodeObject(IceUserObject nodeObject) { this.nodeObject = nodeObject; } public void action(ActionEvent event) { ContextActionEvent c = (ContextActionEvent) event; IceUserObject i = (IceUserObject) c.getContextValue(); System.out.println("Action: " + i.getText()); } public void display(DisplayEvent event) { System.out.println("Display Event fired"); System.out.println("Context Value" + event.getContextValue()); // nodeObject = (IceUserObject) event.getContextValue(); // System.out.println("Node Object " + nodeObject.getText()); } }