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]