1 package org.sapia.gumby.swing.widgets; 2 3 import java.util.Hashtable ; 4 import java.util.Vector ; 5 6 import javax.swing.Icon ; 7 import javax.swing.JTree ; 8 import javax.swing.tree.DefaultTreeCellRenderer ; 9 import javax.swing.tree.DefaultTreeModel ; 10 import javax.swing.tree.TreeCellRenderer ; 11 import javax.swing.tree.TreeModel ; 12 import javax.swing.tree.TreeNode ; 13 14 29 public class JTreePeer extends JTree { 30 31 static final long serialVersionUID = 1L; 32 33 private DefaultTreeCellRenderer _renderer; 34 35 public JTreePeer() { 36 super(); 37 } 38 39 public JTreePeer(Object [] value) { 40 super(value); 41 } 42 43 public JTreePeer(Hashtable value) { 44 super(value); 45 } 46 47 public JTreePeer(Vector value) { 48 super(value); 49 } 50 51 public JTreePeer(TreeModel newModel) { 52 super(newModel); 53 } 54 55 public JTreePeer(TreeNode root) { 56 super(root); 57 } 58 59 public JTreePeer(TreeNode root, boolean asksAllowsChildren) { 60 super(root, asksAllowsChildren); 61 } 62 63 public TreeNode createNode() { 64 TreeNode node = new RootTreeNode(this); 65 super.setModel(new DefaultTreeModel (node)); 66 return node; 67 } 68 69 public void setLeafIcon(Icon icon) { 70 renderer().setLeafIcon(icon); 71 } 72 73 public void setOpenIcon(Icon icon) { 74 renderer().setOpenIcon(icon); 75 } 76 77 public void setClosedIcon(Icon icon) { 78 renderer().setClosedIcon(icon); 79 } 80 81 private DefaultTreeCellRenderer renderer() { 82 TreeCellRenderer renderer = super.getCellRenderer(); 83 if(renderer == null || !(renderer instanceof DefaultTreeCellRenderer )) { 84 renderer = new DefaultTreeCellRenderer (); 85 super.setCellRenderer(renderer); 86 } 87 return (DefaultTreeCellRenderer ) renderer; 88 } 89 90 } 91 | Popular Tags |