1 17 18 package com.finalist.jag.template.parser; 19 20 import javax.swing.*; 21 import javax.swing.event.*; 22 import javax.swing.tree.*; 23 import javax.accessibility.*; 24 import java.awt.*; 25 import java.awt.event.*; 26 import java.beans.*; 27 import java.util.*; 28 import java.io.*; 29 import java.applet.*; 30 import java.net.*; 31 32 40 public class JagBlockViewer extends javax.swing.JFrame { 41 42 JagBlock rootBlock = null; 43 44 45 StringBuffer buffer; 46 47 48 55 public JagBlockViewer(JagBlock rootBlock) { 56 buffer = new StringBuffer (); 57 this.rootBlock = rootBlock; 58 59 getContentPane().add(createTree(), BorderLayout.CENTER); 60 setSize(400, 400); 61 setVisible(true); 62 } 63 64 65 72 public final String getTextString() { 73 return buffer.toString(); 74 } 75 76 77 84 public JScrollPane createTree() { 85 DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); 86 createTree(root, rootBlock); 87 88 JTree tree = new JTree(root) { 89 public Insets getInsets() { 90 return new Insets(5, 5, 5, 5); 91 } 92 }; 93 94 return new JScrollPane(tree); 95 } 96 97 98 106 protected void createTree(DefaultMutableTreeNode parent, JagBlock block) { 107 JagBlock blockChild = block.getFirstChild(); 108 109 while (blockChild != null) { 110 DefaultMutableTreeNode child = 111 new DefaultMutableTreeNode(blockChild.getText()); 112 113 if (blockChild.getType() == JagParserConstants.TAGSTART) { 114 buffer.append("TAG"); 115 } 116 117 if (blockChild.getType() == JagParserConstants.TEXT) { 118 buffer.append(blockChild.getText()); 119 } 120 121 createTree(child, blockChild); 122 parent.add(child); 123 124 blockChild = blockChild.getNextSibling(); 125 } 126 } 127 } | Popular Tags |