1 17 18 package com.finalist.jag.template; 19 20 21 import com.finalist.jag.util.*; 22 23 import java.io.*; 24 25 import java.util.*; 26 27 import javax.swing.*; 28 import javax.swing.event.*; 29 import javax.swing.tree.*; 30 31 32 39 public class TemplateTreeItemViewer { 40 41 48 public static void show(TemplateTreeItem dataObj) { 49 show(dataObj, "TemplateTreeItemViewer"); 50 } 51 52 53 61 public static void show(TemplateTreeItem dataObj, String title) { 62 63 javax.swing.JFrame frame = new javax.swing.JFrame (); 64 65 frame.getContentPane().add(createSwingTree(dataObj), 66 java.awt.BorderLayout.CENTER); 67 frame.setSize(400, 400); 68 frame.setTitle(title); 69 frame.setVisible(true); 70 } 71 72 73 82 private static JScrollPane createSwingTree(TemplateTreeItem dataObj) { 83 84 DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); 85 86 createSwingTree(root, dataObj); 87 88 JTree tree = new JTree(root) { 89 90 public java.awt.Insets getInsets() { 91 return new java.awt.Insets (5, 5, 5, 5); 92 } 93 }; 94 95 return new JScrollPane(tree); 96 } 97 98 99 107 private static void createSwingTree(DefaultMutableTreeNode parent, 108 TemplateTreeItem dataObj) { 109 110 TemplateTreeItem childItem = 111 (TemplateTreeItem) dataObj.getFirstChild(); 112 113 while (childItem != null) { 114 String sText = (childItem.getTag() == null) 115 ? "[TextBlock] " 116 : "[TextBlock][TAG] "; 117 118 sText += childItem.getTextBlock().getText(); 119 120 DefaultMutableTreeNode child = new DefaultMutableTreeNode(sText); 121 122 parent.add(child); 123 createSwingTree(child, childItem); 124 125 childItem = (TemplateTreeItem) childItem.getNextSibling(); 126 } 127 } 128 } 129 | Popular Tags |