1 52 53 package freemarker.testcase; 54 55 import java.awt.event.WindowAdapter ; 56 import java.awt.event.WindowEvent ; 57 import java.io.FileReader ; 58 59 import javax.swing.JFrame ; 60 import javax.swing.JScrollPane ; 61 import javax.swing.JTree ; 62 63 import freemarker.template.Template; 64 65 public class TreeView { 66 67 static public void main(String [] args) { 68 if (args.length == 0) { 69 usage(); 70 return; 71 } 72 String filename = args[0]; 73 Template t = null; 74 try { 75 t = new Template(filename, new FileReader (filename)); 76 } catch (Exception e) { 77 e.printStackTrace(); 78 return; 79 } 80 showTree(t); 81 } 82 83 static void showTree(Template t) { 84 JTree tree = new JTree (t.getRootTreeNode()); 85 JFrame jf = new JFrame (t.getName()); 86 jf.addWindowListener(new WindowAdapter () { 87 public void windowClosing(WindowEvent e) { 88 System.exit(0); 89 } 90 }); 91 JScrollPane scrollPane = new JScrollPane (tree); 92 jf.getContentPane().add(scrollPane); 93 jf.pack(); 94 jf.show(); 95 } 96 97 static void usage() { 98 System.err.println("little toy program to display a compiled template as a tree."); 99 System.err.println("Usage: java freemarker.testcase.TreeView <templatefile>"); 100 } 101 } 102 | Popular Tags |