KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > regis > gui > model > ModelUtils


1 package org.sapia.regis.gui.model;
2
3 import java.awt.Component JavaDoc;
4
5 import javax.swing.JTree JavaDoc;
6 import javax.swing.tree.DefaultMutableTreeNode JavaDoc;
7 import javax.swing.tree.DefaultTreeCellRenderer JavaDoc;
8 import javax.swing.tree.DefaultTreeModel JavaDoc;
9
10 import org.sapia.regis.Node;
11 import org.sapia.regis.gui.GlobalContext;
12 import org.sapia.regis.gui.GuiConsts;
13
14 public class ModelUtils implements GuiConsts{
15
16   
17   public static DefaultMutableTreeNode JavaDoc buildTreeNodeFrom(Node JavaDoc node){
18     DefaultMutableTreeNode JavaDoc treeNode = new DefaultMutableTreeNode JavaDoc();
19     treeNode.setAllowsChildren(true);
20     treeNode.setUserObject(new NodeModel(node));
21     return treeNode;
22   }
23   
24   public static JTree JavaDoc buildTree(){
25     return buildTreeFrom(GlobalContext.getInstance().getRegistry().getRoot());
26   }
27   
28   public static JTree JavaDoc buildTreeFrom(Node JavaDoc node){
29     DefaultMutableTreeNode JavaDoc rootNode = buildTreeNodeFrom(node);
30     JTree JavaDoc tree = new JTree JavaDoc(new DefaultTreeModel JavaDoc(rootNode));
31     GlobalContext.getInstance().getRenderContext().getEnv().put(TREE, tree, WIDGETS_SCOPE);
32     tree.putClientProperty("JTree.lineStyle", "None");
33     TreeManager manager = new TreeManager();
34     tree.setCellRenderer(new DefaulTreeCellRendererEx());
35     tree.addTreeWillExpandListener(manager);
36     tree.addTreeSelectionListener(manager);
37     return tree;
38   }
39   
40   public static class DefaulTreeCellRendererEx extends DefaultTreeCellRenderer JavaDoc{
41     public Component JavaDoc getTreeCellRendererComponent(JTree JavaDoc tree, Object JavaDoc value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
42       return super.getTreeCellRendererComponent(tree, value, sel, expanded, false,
43           row, hasFocus);
44     }
45     
46   }
47 }
48
Popular Tags