1 17 18 package com.finalist.jag.skelet; 19 20 21 import java.io.*; 22 23 import java.util.*; 24 25 import javax.swing.*; 26 import javax.swing.event.*; 27 import javax.swing.tree.*; 28 29 30 37 public class JagSkeletViewer { 38 39 46 public static void show(ModuleData dataObj) { 47 48 javax.swing.JFrame frame = new javax.swing.JFrame (); 49 50 frame.getContentPane().add(createSwingTree(dataObj), 51 java.awt.BorderLayout.CENTER); 52 frame.setSize(400, 400); 53 frame.setVisible(true); 54 } 55 56 57 66 private static JScrollPane createSwingTree(ModuleData dataObj) { 67 68 DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); 69 70 createSwingTree(root, dataObj); 71 72 JTree tree = new JTree(root) { 73 74 public java.awt.Insets getInsets() { 75 return new java.awt.Insets (5, 5, 5, 5); 76 } 77 }; 78 79 return new JScrollPane(tree); 80 } 81 82 83 91 private static void createSwingTree(DefaultMutableTreeNode parent, 92 ModuleData dataObj) { 93 94 if (dataObj instanceof SkeletModule) { 95 String label = 96 ((SkeletModule) dataObj).getRefname(); 97 DefaultMutableTreeNode child = 98 new DefaultMutableTreeNode("ref-name > " + label); 99 100 parent.add(child); 101 } 102 103 if (dataObj.isValueCollection()) { 104 Collection col = (Collection) dataObj.getValue(); 105 Iterator iterator = col.iterator(); 106 107 while (iterator.hasNext()) { 108 ModuleData dataChild = 109 (ModuleData) iterator.next(); 110 DefaultMutableTreeNode child = 111 new DefaultMutableTreeNode(dataChild.getName()); 112 113 parent.add(child); 114 createSwingTree(child, dataChild); 115 } 116 } 117 else if (dataObj.isValueString()) { 118 String name = dataObj.getName(); 119 String value = (String ) dataObj.getValue(); 120 DefaultMutableTreeNode child = new DefaultMutableTreeNode(name 121 + " > " + value); 122 123 parent.add(child); 124 } 125 } 126 } 127 | Popular Tags |