1 36 37 40 41 42 import javax.swing.*; 43 import javax.swing.event.*; 44 import javax.swing.tree.*; 45 import javax.accessibility.*; 46 47 import java.awt.*; 48 import java.awt.event.*; 49 import java.beans.*; 50 import java.util.*; 51 import java.io.*; 52 import java.applet.*; 53 import java.net.*; 54 55 61 public class TreeDemo extends DemoModule { 62 63 JTree tree; 64 65 68 public static void main(String [] args) { 69 TreeDemo demo = new TreeDemo(null); 70 demo.mainImpl(); 71 } 72 73 76 public TreeDemo(SwingSet2 swingset) { 77 super(swingset, "TreeDemo", "toolbar/JTree.gif"); 80 81 getDemoPanel().add(createTree(), BorderLayout.CENTER); 82 } 83 84 public JScrollPane createTree() { 85 DefaultMutableTreeNode top = new DefaultMutableTreeNode(getString("TreeDemo.music")); 86 DefaultMutableTreeNode catagory = null ; 87 DefaultMutableTreeNode artist = null; 88 DefaultMutableTreeNode record = null; 89 90 URL url = getClass().getResource("/resources/tree.txt"); 92 93 try { 94 InputStream is = url.openStream(); 96 InputStreamReader isr = new InputStreamReader(is, "UTF-8"); 97 BufferedReader reader = new BufferedReader(isr); 98 99 String line = reader.readLine(); 101 while(line != null) { 102 char linetype = line.charAt(0); 104 switch(linetype) { 105 case 'C': 106 catagory = new DefaultMutableTreeNode(line.substring(2)); 107 top.add(catagory); 108 break; 109 case 'A': 110 if(catagory != null) { 111 catagory.add(artist = new DefaultMutableTreeNode(line.substring(2))); 112 } 113 break; 114 case 'R': 115 if(artist != null) { 116 artist.add(record = new DefaultMutableTreeNode(line.substring(2))); 117 } 118 break; 119 case 'S': 120 if(record != null) { 121 record.add(new DefaultMutableTreeNode(line.substring(2))); 122 } 123 break; 124 default: 125 break; 126 } 127 line = reader.readLine(); 128 } 129 } catch (IOException e) { 130 } 131 132 tree = new JTree(top) { 133 public Insets getInsets() { 134 return new Insets(5,5,5,5); 135 } 136 }; 137 138 tree.setEditable(true); 139 140 return new JScrollPane(tree); 141 } 142 143 void updateDragEnabled(boolean dragEnabled) { 144 tree.setDragEnabled(dragEnabled); 145 } 146 147 } 148 | Popular Tags |