<x:iconProvider type="backing.TreeBean"/>
public class MainController implements IconProvider {
private DefaultTreeModel treeModel;public MainController() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new TreeItem(1, "XY", "9001", "XY 9001"));
DefaultMutableTreeNode a = new DefaultMutableTreeNode(new TreeItem(2, "A", "9001", "A 9001"));
root.insert(a);
DefaultMutableTreeNode b = new DefaultMutableTreeNode(new TreeItem(3, "B", "9001", "B 9001"));
root.insert(b);
DefaultMutableTreeNode c = new DefaultMutableTreeNode(new TreeItem(4, "C", "9001", "C 9001"));
root.insert(c);
DefaultMutableTreeNode node = new DefaultMutableTreeNode(new TreeItem(5, "a1", "9002", "a1 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(6, "a2", "9002", "a2 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(7, "a3", "9002", "a3 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(8, "b", "9002", "b 9002"));
b.insert(node);
a = node;
node = new DefaultMutableTreeNode(new TreeItem(9, "x1", "9003", "x1 9003"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(9, "x2", "9003", "x2 9003"));
a.insert(node);
this.treeModel = new DefaultTreeModel(root);
}
public String getIconUrl(Object arg0, int arg1, boolean arg2) {
return "/images/tree/node.gif";
}
public DefaultTreeModel getTreeModel() {
return treeModel;
}
public void setTreeModel(DefaultTreeModel treeModel) {
this.treeModel = treeModel;
}}
Bryan Dickey wrote:
This should work (for the old tree table comp, which may be replaced soon - see archived "tree2" messages):
*In JSP: <x:tree ...> .... <x:iconProvider type="backing.TreeBean"/> </x:tree>
*In backing bean:
import org.apache.myfaces.custom.tree.IconProvider;
public class TreeBean implements IconProvider { .... //interface IconProvider (path to node icon) public String getIconUrl(Object arg0, int arg1, boolean arg2) { return "images/tree/node.gif"; } }
-Bryan
[EMAIL PROTECTED] 03/16/05 10:29PM >>>
Version: 1.0.8
I am making use of the <x:tree> component but am having trouble getting
the folder.gif icon to show up in my app, though it shows up fine in myfaces-examples. I am not seeing where I can specify a particular image for this. The rest of the icon's show up just fine. Another fella has this same problem in the forums, but nobody has replied to him yet.
Thoughts? Thanks in advance, Aaron Bartell
Here is my code: <x:tree id="tree" value="#{MainCtl.treeModel}" var="treeItem" styleClass="tree" nodeClass="treenode" headerClass="treeHeader" footerClass="treeFooter" rowClasses="a, b" columnClasses="col1, col2" selectedNodeClass="treenodeSelected" expandRoot="true" iconChildFirst="/images/tree/line_first.gif"\ iconChildMiddle="/images/tree/line_middle.gif" iconChildLast="/images/tree/line_last.gif"
iconLine="/images/tree/line.gif" iconNoline="/images/tree/noline.gif"
iconNodeClose="/images/tree/node_close.gif"
iconNodeCloseFirst="/images/tree/node_close_first.gif" iconNodeCloseLast="/images/tree/node_close_last.gif"
iconNodeCloseMiddle="/images/tree/node_close_middle.gif"
iconNodeOpen="/images/tree/node_open.gif"
iconNodeOpenFirst="/images/tree/node_open_first.gif" iconNodeOpenLast="/images/tree/node_open_last.gif" iconNodeOpenMiddle="/images/tree/node_open_middle.gif" > <h:column> <f:facet name="header"> <h:outputText value="Header 1" /> </f:facet> <h:outputText value="#{treeItem.isoCode}" /> </h:column> <x:treeColumn> <f:facet name="header"> <h:outputText value="Header 2" /> </f:facet> <h:outputText value="#{treeItem.name}" /> </x:treeColumn> <h:column> <f:facet name="header"> <h:outputText value="Header 3" /> </f:facet> <h:outputText value="#{treeItem.description}" /> </h:column> <f:facet name="footer"> <h:outputText value="Footer" /> </f:facet> </x:tree>

