Hi, 

I created a treeview in  a panel component and I wondered how to use the
link proprieties  to be able to open a new page when a node is clicked on. 

My class: 

public class PanelTreeView extends Panel {

public PanelTreeView(String id) {
        
        super(id);      
        
      [ here I create my List of nodes ]

        [ THE ROOT = racine ]

        

        TreeModel treeModel = convertToTreeModel(racine);

        final Tree tree = new Tree("tree", treeModel) {

            private static final long serialVersionUID = 1L;

                        

            protected String renderNode(TreeNode node) {
                                

                DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)
node;
                
                log.info("renderNode , user object: " +
treeNode.getUserObject());

                               
                Object userObject = treeNode.getUserObject();

                return (userObject instanceof List) ?
treeNode.getUserObject().toString() :
String.valueOf(treeNode.getUserObject());
                
            }
            
            
            

        };


        tree.setLinkType(LinkType.AJAX_FALLBACK);      
      
        add(tree);        
        
        tree.getTreeState().expandAll();

    }


  
    private TreeModel convertToTreeModel(List list) {
        
        
        TreeModel model = null;

        DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Liste
des Domaines");

        add(rootNode, list);

        model = new DefaultTreeModel(rootNode);

        return model;

    }


   
    private void add(DefaultMutableTreeNode parent, List sub) {

        for (Iterator i = sub.iterator(); i.hasNext();) {

            Object o = i.next();

            if (o instanceof List) {

                DefaultMutableTreeNode child = new
DefaultMutableTreeNode(o);

                parent.add(child);

                add(child, (List) o);

            } else {

                DefaultMutableTreeNode child = new
DefaultMutableTreeNode(o);

                parent.add(child);

            }

        }

    }



} 

I had a look and I found thes  classes but I don't know ifthat's the ones I
have to use : 

protected void nodeLinkClicked(DefaultMutableTreeNode node)
                {
                        ...                     
                }
            
    protected void junctionLinkClicked(DefaultMutableTreeNode node)
                {
                        ...
                }



Or may be this one :

protected Link createNodeLink(DefaultMutableTreeNode node) {
 
           ...
                }



 

Thank's in advance for you help



-- 
View this message in context: 
http://www.nabble.com/How-to-Create-a-link-in-a-treeview-tp16557773p16557773.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to